精华内容
下载资源
问答
  • 针对传统粒子群优化算法解决复杂问题时收敛速度太快、容易陷入局部最优解的问题,在全局—局部最优解粒子群算法的基础上,提出了一种改进学习因子和约束因子的混合粒子群优化算法。通过将粒子的邻域最优解加入到速度...
  • 粒子群优化算法中惯性权重和学习因子的独自调整策略削弱了算法进化过程的统一性,很难适应复杂的非线性优化,为此提出一种利用惯性权重来控制学习因子的粒子群算法,通过增强权重和学习因子之间的相互作用来平衡算法...
  • 针对传统粒子群优化算法解决复杂问题时收敛速度太快、容易陷入局部最优解的问题,在全局―局部最优解粒子群算法的基础上,提出了一种改进学习因子和约束因子的混合粒子群优化算法。通过将粒子的邻域最优解加入到速度...
  • 多项式时间和样本复杂度中的学习因子图.pdf 英文版
  • 粒子群算法( Particle Swarm Optimization, PSO)在应用的过程中主要调整权重,学习因子,才能对解决的问题有所针对性。下面有6种调整权重和学习因子: 一、调整粒子群算法的权重 1.线性递减权重 2.自适应调整权重 ...

    粒子群算法( Particle Swarm Optimization, PSO)在应用的过程中主要调整权重,学习因子,才能对解决的问题有所针对性。下面有6种调整权重和学习因子:
    一、调整粒子群算法的权重
    1.线性递减权重
    2.自适应调整权重
    3.随机权重
    二、调整粒子群算法的学习因子
    1.收缩因子
    2.同步学习因子
    3.异步学习因子
    目标函数如下:

    function y=A11_01(x)
    
    y=x(1)^2+x(2)^2-x(1)*x(2)-10*x(1)-4*x(2)+60;
    

    一、调整粒子群算法的权重
    1.线性递减权重
    Shi.Y认为较大的权重惯性有利于全局搜索,较小的权重有利于局部搜索,他提出的线性递减权重刚好满足这样的需求。
    在这里插入图片描述
    一般而言,在这里插入图片描述k为当前迭代次数,T为最大迭代次数。

    %粒子群 PSO  线性递减权重
    clear 
    clc
    
    %%预设参数
    n=100;
    d=2; %变量个数
    c1=2;
    c2=2;
    w=0.9;
    K=100;
    ws=0.9;
    we=0.4;
    
    %%分布粒子
    x=-10+20*rand(n,d);
    v=-5+10*rand(n,d);
    
    %%计算适应度
    fit=zeros(n,1);
    for j=1:n
        fit(j)=A11_01(x(j,:));
    end
    %计算个体极值
    pbest=x;
    ind=find(min(fit)==fit);
    gbest=x(ind,:);
    
    %%更新速度与位置
    for i=1:K
        for m=1:n
           v(m,:)=w*v(m,:) + c1*rand*(pbest(m,:)-x(m,:)) + c2*rand*(gbest-x(m,:));
           w=ws-(ws-we)*(i/K);
           
           v(m,find(v(m,:)<-10))=-10;
           v(m,find(v(m,:)>10))=10;
           
           x(m,:)=x(m,:)+0.5*v(m,:);
           x(m,find(x(m,:)<-10))=-10;
           x(m,find(x(m,:)>10))=10;
           
           %重新计算适应度
           fit(m)=A11_01(x(m,:));
           if x(m,:)<A11_01(pbest(m,:))
               pbest(m,:)=x(m,:);
           end
           if A11_01(pbest(m,:))<A11_01(gbest)
               gbest=pbest(m,:);
           end
        end
        fitnessbest(i)=A11_01(gbest);
    end
    plot(fitnessbest);
    xlabel('迭代次数');
    ylabel('适应度值');
    title('迭代优化过程');
    

    在这里插入图片描述
    图1 线性递减权重的迭代优化过程

    2.自适应调整权重
    自适应权重:权重随着粒子适应度值的改变而改变。
    在这里插入图片描述
    在这里插入图片描述

    %%自适应调整权重
    clear all;
    clc;
    
    %%预设参数
    n=100;
    d=2; %变量个数
    c1=2;
    c2=2;
    K=20;
    wmax=0.9;
    wmin=0.4;
    
    %%分布粒子
    x=-10+20*rand(n,d);
    v=-5+10*rand(n,d);
    
    %%计算适应度
    fit=zeros(n,1);
    for j=1:n
        fit(j)=A11_01(x(j,:));
    end
    %计算个体极值
    pbest=x;
    ind=find(min(fit)==fit);
    gbest=x(ind,:);
    
    %%更新速度与位置
    for i=1:K
        for m=1:n
            f=fit(m);
            favg=sum(fit)/n;
            fmin=min(fit);
            if f<=favg
                w=wmin-(wmax-wmin)*(f-fmin)/(favg-fmin);
            else
                w=wmax;
            end
           v(m,:)=w*v(m,:) + c1*rand*(pbest(m,:)-x(m,:)) + c2*rand*(gbest-x(m,:));
           
           v(m,find(v(m,:)<-10))=-10;
           v(m,find(v(m,:)>10))=10;
           
           x(m,:)=x(m,:)+0.5*v(m,:);
           x(m,find(x(m,:)<-10))=-10;
           x(m,find(x(m,:)>10))=10;
           
           %重新计算适应度
           fit(m)=A11_01(x(m,:));
           if x(m,:)<A11_01(pbest(m,:))
               pbest(m,:)=x(m,:);
           end
           if A11_01(pbest(m,:))<A11_01(gbest)
               gbest=pbest(m,:);
           end
        end
        fitnessbest(i)=A11_01(gbest)
    end
    plot(fitnessbest);
    xlabel('迭代次数');
    ylabel('适应度值');
    title('适应度优化过程');
    

    在这里插入图片描述
    图2 自适应调整权重的迭代过程
    3.随机权重
    当粒子在起始位置接近最优点时,可能产生较小权重。
    在这里插入图片描述

    %%随机权重
    clear all;
    clc;
    
    %%预设参数
    n=100;
    d=2; %变量个数
    c1=2;
    c2=2;
    K=50;
    wmax=0.8;
    wmin=0.5;
    delta=0.5;
    
    %%分布粒子
    x=-10+20*rand(n,d);
    v=-5+10*rand(n,d);
    
    %%计算适应度
    fit=zeros(n,1);
    for j=1:n
        fit(j)=A11_01(x(j,:));
    end
    %计算个体极值
    pbest=x;
    ind=find(min(fit)==fit);
    gbest=x(ind,:);
    
    %%更新速度与位置
    for i=1:K
        for m=1:n
          miu=wmin+(wmax-wmin)*rand;
          w=miu+delta*randn;
           v(m,:)=w*v(m,:) + c1*rand*(pbest(m,:)-x(m,:)) + c2*rand*(gbest-x(m,:));
           
           v(m,find(v(m,:)<-10))=-10;
           v(m,find(v(m,:)>10))=10;
           
           x(m,:)=x(m,:)+0.5*v(m,:);
           x(m,find(x(m,:)<-10))=-10;
           x(m,find(x(m,:)>10))=10;
           
           %重新计算适应度
           fit(m)=A11_01(x(m,:));
           if x(m,:)<A11_01(pbest(m,:))
               pbest(m,:)=x(m,:);
           end
           if A11_01(pbest(m,:))<A11_01(gbest)
               gbest=pbest(m,:);
           end
        end
        fitnessbest(i)=A11_01(gbest);
    end
    plot(fitnessbest);
    xlabel('迭代次数');
    ylabel('适应度值');
    title('随机优化过程');
    

    在这里插入图片描述
    图3 随机权重的迭代过程
    二、调整粒子群算法的学习因子
    1.收缩因子
    在这里插入图片描述
    c=c1+c2,c>4,一般c=4.1.

    %%收缩因子
    clear all;
    clc;
    
    %%预设参数
    n=100;
    d=2; %变量个数
    c1=2.05;
    c2=2.05;
    K=20;
    w=1;
    C=4.1;
    fai=2/abs((2-C-sqrt(C^2-4*C)));
    
    %%分布粒子
    x=-10+20*rand(n,d);
    v=-5+10*rand(n,d);
    
    %%计算适应度
    fit=zeros(n,1);
    for j=1:n
        fit(j)=A11_01(x(j,:));
    end
    %计算个体极值
    pbest=x;
    ind=find(min(fit)==fit);
    gbest=x(ind,:);
    
    %%更新速度与位置
    for i=1:K
        for m=1:n
         v(m,:)=fai*(w*v(m,:) + c1*rand*(pbest(m,:)-x(m,:)) + c2*rand*(gbest-x(m,:)));
           
           x(m,:)=x(m,:)+0.5*v(m,:);
           x(m,find(x(m,:)<-10))=-10;
           x(m,find(x(m,:)>10))=10;
           
           %重新计算适应度
           fit(m)=A11_01(x(m,:));
           if x(m,:)<A11_01(pbest(m,:))
               pbest(m,:)=x(m,:);
           end
           if A11_01(pbest(m,:))<A11_01(gbest)
               gbest=pbest(m,:);
           end
        end
        fitnessbest(i)=A11_01(gbest);
    end
    plot(fitnessbest);
    xlabel('迭代次数');
    ylabel('适应度值');
    title('随机优化过程');
    

    在这里插入图片描述
    图4 收缩因子的迭代过程`

    2.同步学习因子
    在这里插入图片描述

    %%同步学习因子
    clear all;
    clc;
    
    %%预设参数
    n=100;
    d=2; %变量个数
    K=50;
    w=0.9;
    cmax=2.1;
    cmin=0.8;
    
    %%分布粒子
    x=-10+20*rand(n,d);
    v=-5+10*rand(n,d);
    
    %%计算适应度
    fit=zeros(n,1);
    for j=1:n
        fit(j)=A11_01(x(j,:));
    end
    %计算个体极值
    pbest=x;
    ind=find(min(fit)==fit);
    gbest=x(ind,:);
    
    %%更新速度与位置
    for i=1:K
        for m=1:n
           c1=cmax-(cmax-cmin)*(i/K);
           c2=c1;
           v(m,:)=w*v(m,:) + c1*rand*(pbest(m,:)-x(m,:)) + c2*rand*(gbest-x(m,:));
           v(m,find(v(m,:)<-10))=-10;
           v(m,find(v(m,:)>10))=10;
           
           x(m,:)=x(m,:)+0.5*v(m,:);
           x(m,find(x(m,:)<-10))=-10;
           x(m,find(x(m,:)>10))=10;
           
           %重新计算适应度
           fit(m)=A11_01(x(m,:));
           if x(m,:)<A11_01(pbest(m,:))
               pbest(m,:)=x(m,:);
           end
           if A11_01(pbest(m,:))<A11_01(gbest)
               gbest=pbest(m,:);
           end
        end
        fitnessbest(i)=A11_01(gbest);
    end
    plot(fitnessbest);
    xlabel('迭代次数');
    ylabel('适应度值');
    title('迭代优化过程');
    

    在这里插入图片描述
    图 5 同步学习因子的迭代过程
    3.异步学习因子
    在这里插入图片描述

    %%异步学习因子
    clear all;
    clc;
    
    %%预设参数
    n=100;
    d=2; %变量个数
    K=50;
    w=0.9;
    cstart1=2.5;
    cend1=0.5;
    cstart2=0.5;
    cend2=2.5;
    
    %%分布粒子
    x=-10+20*rand(n,d);
    v=-5+10*rand(n,d);
    
    %%计算适应度
    fit=zeros(n,1);
    for j=1:n
        fit(j)=A11_01(x(j,:));
    end
    %计算个体极值
    pbest=x;
    ind=find(min(fit)==fit);
    gbest=x(ind,:);
    
    %%更新速度与位置
    for i=1:K
        for m=1:n
           c1=cstart1+(cend1-cstart1)*(i/K);
           c2=cstart2+(cend2-cstart2)*(i/K);
           v(m,:)=w*v(m,:) + c1*rand*(pbest(m,:)-x(m,:)) + c2*rand*(gbest-x(m,:));
           v(m,find(v(m,:)<-10))=-10;
           v(m,find(v(m,:)>10))=10;
           
           x(m,:)=x(m,:)+0.5*v(m,:);
           x(m,find(x(m,:)<-10))=-10;
           x(m,find(x(m,:)>10))=10;
           
           %重新计算适应度
           fit(m)=A11_01(x(m,:));
           if x(m,:)<A11_01(pbest(m,:))
               pbest(m,:)=x(m,:);
           end
           if A11_01(pbest(m,:))<A11_01(gbest)
               gbest=pbest(m,:)
           end
        end
        fitnessbest(i)=A11_01(gbest);
    end
    plot(fitnessbest);
    xlabel('迭代次数');
    ylabel('适应度值');
    title('迭代优化过程');
    

    在这里插入图片描述
    图 6 异步学习因子

    Matlab粒子群算法(PSO)优化程序的优点在于参数数量比较少,调整权重和改进学习因子都是比较好进行的。
    注:函数来源于https://www.51zxw.net/show.aspx?id=71576&cid=641。

    展开全文
  • 机器学习 因子分析PPT

    2014-06-08 15:02:42
    机器学习中涉及到统计学部分的知识,因子分析,是一份讲义,有概念和实例
  • 改进遗传算法——添加学习因子

    千次阅读 2020-01-14 11:33:50
    文章目录遗传算法的优化1. 遗传算法的优化理念1.1 遗传算法一般思路1.2 遗传算法的槽点1.3 遗传算法的深度优化2. 源代码下载地址2.1 源码链接2.2 项目UML简单类图2.3 项目模块关系图 遗传算法的优化 ...

    遗传算法的优化

    1. 遗传算法的优化理念

    1.1 遗传算法一般思路

    这篇文章是上一篇 遗传算法解决多维背包问题 文章的后续,或者说升华。多维背包的问题规模如下:

    // 多维背包问题,将其用列表形式表示即为:
    
    Value=[100, 220, 90, 400, 300, 400, 205, 120, 160, 580, 400, 140, 100, 1300, 650];
    
    Attribute=[ 8  24  13  80  70  80  45  15  28  90 130  32  20  120  40
                8  44  13 100 100  90  75  25  28 120 130  32  40  160  40
                3   6   4  20  20  30   8   3  12  14  40   6   3   20   5
                5   9   6  40  30  40  16   5  18  24  60  16  11   30  25
                5  11   7  50  40  40  19   7  18  29  70  21  17   30  25
                5  11   7  55  40  40  21   9  18  29  70  21  17   30  25
                0   0   1  10   4  10   0   6   0   6  32   3   0   70  10
                3   4   5  20  14  20   6  12  10  18  42   9  12  100  20
                3   6   9  30  29  20  12  12  10  30  42  18  18  110  20
                3   8   9  35  29  20  16  15  10  30  42  20  18  120  20 ];
    
    Limit=[ 550; 700; 130; 240; 280; 310; 110; 205; 260; 275 ];
    
    /*
        对于任意解 X(诸如此类[0,1,0], 采用二进制编码)
        使满足 X.*Attribute < Limit, 值得注意 X.*Attribute代表的是两个向量的点乘
        
        求  TotalValue=X.*Value 的最大值
    */
    

    1.2 遗传算法的槽点

    经过作者不计其数的测试,一般的遗传算法甚至是那些优化版的遗传算法,例如 自适应概率,父子代竞争,保留父代最优等等策略,都不会明显的使得种群的下一代比上一代更优秀,简而言之所谓的进化只是理想。但是这个理想在我看来几乎不会实现。可能有些人也对遗传算法做了一定的优化,甚至有使用到我上述提到的方法或者策略,别急往下看~

    遗传算法的初衷就是模仿生物界 “物竞天择,适者生存” 的法则,模拟交叉变异并选择等操作来企图达到进化的目的。但是值得一提的是,相比生物界进化的过程,遗传算法最欠缺的就是选择过程没有对交叉变异起到诱导作用,交叉还是随机交叉,变异还是随机变异,选择的概念名存实亡,它没有起到它应有的作用,也就是诱导个体朝着更加优秀的方向去进化。如果你不信,可以将你们每一代的每一个染色体基因及其目标函数值打印出来,做个对比,你一定会有所发现的~

    其实说实话,遗传算法就是一个全局搜索过程,他获取到的最优值是所有搜索过程中的最优值而不是最后一代种群中的最优值。所以说获取到最优值的概率完全是随机的,在所有种群迭代过程中你搜索到的样本越多,越有机会获得最优解,所以 理论上来说只要迭代次数无穷大,就一定会找到最优解。也很容易的看到如果不对遗传算法做出根本性的变革,那些细枝末节的修补是根本不可能突破遗传算法的瓶颈的。

    1.3 遗传算法的深度优化

    遗传算法说白了就是这样,没有任何的高明之处,可能正在看的一些读者对遗传算法有较深的了解,知道各种交叉变异以及选择策略,例如PMX,OX,轮盘赌,锦标赛等等,但是在我看来这些策略可能是在一定程度地提高种群的多样性,我试过了其中大部分优化方法,效果一般还徒增运行时长。

    说了这么多,是时候提出作者优化的思路了。优秀的人都是相似的,这句话可能有些绝对,但是也不为过,正好可以用到遗传算法中。在我们的算法中加入了一点学习的概念,具体的操作就是先用遗传算法来迭代若干代,在全局内搜索到若干个 (这里取10个)较优解,优秀的解是有很大一部分共性的基因。

    优化前的结果图:
    优化前效果图

    这是10个种群分别迭代200代的最优结果,从这个矩阵不难看出有很多基因位置都是相同的,我们将将这些完全相同的位置基因变异概率设置为0.001,不完全相同的位置设置为0.6(这个参数不固定),将这10个基因重新作为种群初始解,以全新的变异概率来进行迭代,迭代次数可以设置为100左右(不固定)。如果愿意,完全可以将这个过程重复多次来获取到最优值。然后我们运行一次的时间消耗大概在900ms左右,找到最优值的概率为90以上。这有点局部搜索的意思,但是恕我直言,如果大概率变异的基因位小到一定的范围内,例如六七位,这时候用局部搜索效率会奇高。

    优化后的结果图:
    遗传算法优化后

    当然这个算法有一个缺点,就是可能永远找不到最优值,且最后获取到的10个解完全是一模一样的局优值。这样的结果并不奇怪,因为如果你的初始10个种群迭代过后获取到的10个最优染色体的某一位基因刚好全部避开最优染色体的该位基因,那找到最优值的概率就会很小,那我找到的是什么呢?科学来说,找到的是当前这几位基因确定情况下的最优值,也就是局优。

    那有没有办法避免呢?其实是有的,我只需要让初始10个种群的最优值基因多样性尽可能大,那么找到最优值的概率就会加大。可以适当增加初始种群的迭代次数来解决。

    不需要灰心。为什么呢?经过作者测试,来源于OR-Library的测试数据集,在50x5,28x10等维度的多维背包问题下,求解是毫无压力,800ms可以找到最优解,并且概率相当可观。如果有维度更大,求解难度更大的问题,当前算法可能会有更好的突破。

    当然读者也可以根据本篇文章的思路,设计出更好的寻优算法。

    2. 源代码下载地址

    2.1 源码链接

    遗传算法深度优化代码下载链接

    下载分值是官方动态调整的,如果需要,可以私信我拿代码

    2.2 项目UML简单类图

    项目UML简单类图

    2.3 项目模块关系图

    项目模块关系图

    展开全文
  • MIT版深度学习第13章 深度学习线性因子模型.线性因子模型被定义为通过随机、线性的解码器模型(decoder function),通过在一个线性变换加上噪声,来生成输入空间
  • 基于因子情境的机器学习因子选股模型.pdf
  • 深度学习算法掘金ALPHA因子,学习如何使用掘金alpha因子
  • R语言学习——因子

    2018-09-30 14:17:00
    1、因子 因子的设计思想来源于统计学的名义变量,或称为分类变量。 分类变量的值本质上不是数字,而是对应为分类/分组。 因子分为无序因子和有序因子因子的类别称为level,结合level,因子在内部被编码为指向...

    1、因子 因子的设计思想来源于统计学的名义变量,或称为分类变量。 分类变量的值本质上不是数字,而是对应为分类/分组。 因子分为无序因子和有序因子。

    因子的类别称为level,结合level,因子在内部被编码为指向level的正整数序号。

    函数str():Compactly Display the Structure of an Arbitrary R Object 回忆为了了解R Object的函数:length(),typeof(),class(); attributes(),attr();str(),summary()

    2、因子的创建与基本操作 无序因子通过factor()创建,可带有level参数设定level取值。 语法是factor(data, levels, labels, ...),其中data是数据,levels是因子水平向量,labels是因子的标签向量。 设定level后不能添加非法level的元素;可以通过levels()修改因子的level。 有序因子通过ordered()创建。

     

    展开全文
  • 股票量化因子学习

    万次阅读 2018-04-24 10:18:23
    看到一篇博客文章,里面阐述了很多股票的量化因子学习了一番,但是解释的不是很细,我之后又详细查询了很多,形成了这篇文章,特此记录一下,为自己和后来人查询使用。 最近在看《量化投资数据挖掘技术与实践...

    看到一篇博客文章,里面阐述了很多股票的量化因子,学习了一番,但是解释的不是很细,我之后又详细查询了很多,形成了这篇文章,特此记录一下,为自己和后来人查询使用。

    最近在看《量化投资数据挖掘技术与实践(MATLAB版)》。学习了其中的常见的股票衍生变量,并且利用WIND金融数据终端的matlab借口windmatlab导出一些数据进行了一个简单的学习。特此记录。

    1. 移动平均线
    移动平均线,Moving Average,简称MA,MA是用统计分析的方法,将一定时期内的证券价格(指数)加以平均,并把不同时间的平均值连接起来,形成一根MA,用以观察证券价格变动趋势的一种技术指标。
    移动平均线是由著名的美国投资专家Joseph E.Granville(葛兰碧,又译为格兰威尔)于20世纪中期提出来的。均线理论是当今应用最普遍的技术指标之一,它帮助交易者确认现有趋势、判断将出现的趋势、发现过度延生即将反转的趋势。

    2. 股票当日涨幅
    相对于收盘价而言。其计算为:

    =ii1i1×100% 股 票 当 日 涨 幅 = ( 第 i 天 的 收 盘 价 − 第 i − 1 天 的 收 盘 价 ) 第 i − 1 天 的 收 盘 价 × 100 %

    3. 股票10日涨幅

    10=ii10i10×100% 股 票 10 日 涨 幅 = ( 第 i 天 的 收 盘 价 − 第 i − 10 天 的 收 盘 价 ) 第 i − 10 天 的 收 盘 价 × 100 %

    4. 10日涨跌比率ADR

    ADR=1010 A D R = 10 日 内 股 票 涨 的 天 数 10 日 内 股 票 跌 的 天 数

    • 取值范围:
      一般而言,由ADR的数值大小可以把大势分为几个区域。
      (1)ADR数值在0.5——1.5之间是ADR处在正常区域内。当ADR处在正常区域内时,表明多空双方势均力敌,大盘的走势波动不大、比较平稳,股市大势属于一种盘整行情。这个区域是ADR数值经常出现的区域。
      (2)当ADR数值在0.3——0.5之间或1.5——2之间是ADR处在非正常区域内。
      当ADR处在1.5——2之间的非正常区域时,表明多头力量占据优势,大盘开始向上一路上涨,股市大势属于一种多头行情;
      而当ADR处在0.3——0.5之间的非正常区域时,表明空头力量占据优势,大盘开始一路下跌,股市大势属于一种空头行情。这两个区域是ADR数值比较少出现的区域。
      (3)当ADR值是在0.3以下或2以上时是ADR处在极不正常区域内。当ADR处在极不正常区域时,主要是突发的利多、利空消息引起股市暴涨暴跌的情况。此时,股市大势属于一种大空头或大多头行情。

    • 买卖决策
      (1)当ADR数值小于0.5时,表示大势经过长期下跌,已经出现超卖现象,很多股票价格可能会止跌企稳并出现一轮反弹行情,投资者可以短线少量买入超跌股作反弹。
      (2)当ADR数值大于1.5时,表示大势经过长期上涨,已经出现超买现象,很多股票价格可能已经上涨过度,将会出现一轮幅度比较大的下跌行情,投资者应以及时卖出股票或持币观望为主。
      (3)当ADR数值在0.5——1.5之间时,表示大势基本处于整理行情之中,没有出现特殊的超买和超卖现象,这时投资者更重要的在于研判个股行情。
      (4)当ADR数值在0.3以下时,表示大势处在大空头市场的末期,市场上出现了严重的超卖现象,很多股票的价格已经跌无可跌,此时,投资者可以分批逢低吸纳股票,作中长线的建仓投资。
      (5)当ADR数值在2.0以上时,表示大势处在大多头市场的末期,市场上出现了严重的超买现象,很多股票的价格已经涨幅过大,将面临一轮比较大的下跌行情,此时,投资者应及时卖出持有的股票。

    5. 10日相对强弱指标RSI

    RSI×100 R S I = 上 升 平 均 数 上 升 平 均 数 + 下 跌 平 均 数 × 100

    RSI10=1010 R S I 10 = 10 日 内 涨 的 天 数 10

    相对强弱指数(RSI)是通过比较一段时期内的平均收盘涨数和平均收盘跌数来分析市场买沽盘的意向和实力,从而作出未来市场的走势。
    相对强弱指数(RSI)是通过比较一段时期内的平均收盘涨数和平均收盘跌数来分析市场买沽盘的意向和实力,从而作出未来市场的走势。

    • RSI运用法则
      (1) 受计算公式的限制,不论价位如何变动,强弱指标的值均在0与100之间。
      (2) 强弱指标保持高于50表示为强势市场,反之低于50表示为弱势市场。
      (3) 强弱指标多在70与30之间波动。当六日指标上升到达80时,表示股市已有超买现象,如果一旦继续上升,超过90以上时,则表示已到严重超买的警戒区,股价已形成头部,极可能在短期内反转回转。
      (4) 当六日强弱指标下降至20时,表示股市有超卖现象,如果一旦继续下降至10以下时则表示已到严重超卖区域,股价极可能有止跌回升的机会。
      (5) 每种类型股票的超卖超买值是不同的。
         在牛市时,通常蓝筹股的强弱指数若是80,便属超买,若是30便属超卖,至于二三线股,强弱指数若是85至90,便属超买,若是20至25,便属超卖。 但我们不能硬性地以上述数值,拟定蓝筹股或二三线股是否属于超买或超卖,主要是由于某些股票有自己的一套超买/卖水平,即是,股价反覆的股票,通常超买的 数值较高(90至95),而视作超卖的数值亦较低(10至15)。至于那些表现较稳定的股票,超买的数值则较低(65至70),超卖的数值较高(35至 40)。因此我们对一只股票采取买/卖行动前,一定要先找出该只股票的超买/超卖水平。至于衡量一只股票的超买/超卖水平,我们可以参考该股票过去12个 月之强弱指标记录。
      (6) 超买及超卖范围的确定还取决于两个因素。第一是市场的特性,起伏不大的稳定的市场一般可以规定70以上超买, 30以下为超卖。变化比较剧烈的市场可以规定80以上超买,20以下为超卖。第二是计算RSI时所取的时间参数。例如,对于9日RSI,可以规定80以上 为超买,20以下为超卖。对于24日RSI,可以规定70以上为超买,30以下为超卖。应当注意的是,超买或超卖本身并不构成入市的讯号。有时行情变化得 过于迅速,RSI会很快地超出正常范围,这时RSI的超买或超卖往往就失去了其作为出入市警告讯号的作用。例如在牛市初期,RSI往往会很快进入80以上 的区域,并在此区域内停留相当长一段时间,但这并不表示上升行情将要结束。恰恰相反,它是一种强势的表现。只有在牛市未期或熊市当中,超买才是比较可靠的 入市讯号。基于这个原因,一般不宜在RSI一旦进入非正常区域就采取买卖行动。最好是价格本身也发出转向信号时再进行交易。这样就可以避免类似于上面提到 的RSI进入超买区但并不立即回到正常区域那样的“陷井”。在很多情况下,很好的买卖讯号是:RSI进入超买超卖区,然后又穿过超买或超卖的界线回到正常 区域。不过这里仍然要得到价格方面的确认,才能采取实际的行动。这种确认可以是:
        ①趋势线的突破;
        ②移动平均线的突破;
        ③某种价格型态的完成。
      (7) 强弱指标与股价或指数比较时,常会产生先行显示未来行情走势的特性,亦即股价或指数未涨而强弱指标先上升,股价或指数未跌而强弱指标先下降,其特性在股价的高峰与谷底反应最明显。
      (8) 当强弱指标上升而股价反而下跌,或是强弱指标下降而股价反趋上涨,这种情况称之为“背驰”。当RSI在70至80上时,价位破顶而RSI不能破 顶,这就形成了“顶背驰”,而当RSI在30至20下时,价位破底而RSI不能破底就形成了“底背驰”。这种强弱指标与股价变动,产生的背离现象,通常是 被认为市场即将发生重大反转的讯号。
        和超买及超卖一样,背驰本背并不构成实际的卖出讯号,它只是说明市场处于弱势。实际的投资决定应当在 价格本身也确认转向之后才作出。虽然在行情确实发生反转的情况下,这个确认过程会使投资者损失一部分利润,可是却可以避免在行情后来并未发生反转的情况下 投资者可能做出过早卖出的错误决定。相对地说,这种错误会对投资者造成更大的损失,因为有时候行情会暂时失去动量然后又重新获得动量,而这时价格并不发生大 规模的转向。
        
      更多具体的信息可以参考MBA智库:
      http://wiki.mbalib.com/wiki/%E7%9B%B8%E5%AF%B9%E5%BC%BA%E5%BC%B1%E6%8C%87%E6%A0%87

    6. 当日k线值

    k线=PRICEclosePRICEopenPRICEhighPRICElow 当 日 k 线 值 = P R I C E c l o s e − P R I C E o p e n P R I C E h i g h − P R I C E l o w

    7. 10日乖离率(BIAS)

    BIAS=NN B I A S = 当 日 收 盘 价 − N 日 内 移 动 平 均 收 盘 价 N 日 内 移 动 平 均 收 盘 价

    乖离率,简称Y值,是移动平均原理派生的一项技术指标,其功能主要是通过测算股价在波动过程中与移动平均线出现偏离的程度,从而得出股价在剧烈波动时因偏离移动平均趋势而造成可能的回档或反弹,以及股价在正常波动范围内移动而形成继续原有势的可信度。
    乖离度的测市原理是建立在:如果股价偏离移动平均线太远,不管股价在移动平均线之上或之下,都有可能趋向平均线的这一条原理上。而乖离率则表示股价偏离趋向指标占百分比值。
    乖离率分正乖离和负乖离。当股价在移动平均线之上时,其乖离率为正,反之则为负,当股价与移动平均线一致时,乖离率为0。随着股价走势的强弱和升跌,乖 离率周而复始地穿梭于0点的上方和下方,其值的高低对未来走势有一定的测市功能。一般而言,正乘离率涨至某一百分比时,表示短期间多头获利回吐可能性也越 大,呈卖出讯号;负乘离率降到某一百分比时,表示空头回补的可能性也越大,呈买入讯号。对于乘离率达到何种程度方为正确之买入点或卖出点,目前并没有统一原则,使用者可赁观图经验力对行情强弱的判断得出综合结论。一般来说,在大势上升市场,如遇负乘离率,可以行为顺跌价买进,因为进场风险小;在大势下跌的 走势中如遇正乖离,可以待回升高价时,出脱持股。

    乖离率的数值的大小可以直接用来研究股价的超买超卖现象,判断买卖股票的时机。由于选用乖离率周期参数的不同,其对行情的研判标准也会随之变化,但大致的方法基本相似。以5日和10日乖离率为例,具体方法如下:
      1、一般而言,在弱势市场上,股价的5日乖离率达到-5以上,表示股价超卖现象出现,可以考虑开始买入股票;而当股价的5日乖离率达到5以上,表示股价超买现象出现,可以考虑卖出股票。
      2、在强势市场上,股价的5日乖离率达到-10以上,表示股价超卖现象出现,为短线买入机会;当股价的5日乖离率达到10以上,表示股价超买现象出现,为短线卖出股票的机会。
      3、结合我国沪深股市的实际,在一些暴涨暴跌的时机,对于综合指数而言,当10日乖离率大于10以上时,预示股价指数已经出现超买现象,可开始逢高卖出股票,当10日乖离率小于-5时,预示股价指数已经出现超卖现象,可开始逢低吸纳股票。而对个股而言,当10日乖离率大于15以上为短线卖出时机,当 10日乖离率小于-10时,为短线买入时机。

    • 不同时期的BIAS线之间的交叉情况
      在大多数股市分析软件上,BIAS指标构成主要是由不同时期(一般取短、中、长)的三条BIAS曲线构成。BIAS指标的研判主要是围绕短中长3根曲线的运动及互相交叉情况展开的。以日BIAS指标为例,其具体分析过程如下:
      1、当短、中、长期BIAS曲线始终围绕着0度线,并在一定的狭小范围内上下运动时,说明股价是处于盘整格局中,此时投资者应以观望为主。
      2、当短期BIAS曲线开始在底部向上突破长期BIAS曲线时,说明股价的弱势整理格局可能被打破,股价短期将向上运动,投资者可以考虑少量长线建仓。
      3、当短期BIAS曲线向上突破长期BIAS曲线并迅速向上运动,同时中期BIAS曲线也向上突破长期BIAS曲线,说明股价的中长期上涨行情已经开始,投资者可以加大买入股票的力度。
      4、当短、中、长期BIAS曲线开始摆脱前期窄幅盘整的区间并同时向上快速运动时,说明股价已经进入短线强势拉升行情,投资者应坚决持股待涨。
      5、当短期BIAS曲线经过一段快速向上运动的过程后开始在高位向下掉头时,说明股价短期上涨过快,将开始短线调整,投资者可以短线卖出股票。
      6、当中期BIAS曲线也开始在高位向下掉头时,说明股价的短期上涨行情可能结束,投资者应中线卖出股票。
      7、当长期BIAS曲线也开始在高位向下掉头时,说明股价的中短期上涨行情已经结束,投资者应全部清仓离场。
      8、当中长期BIAS曲线从高位同时向下运动时,说明股价的下跌趋势已经形成,投资者应坚决持币观望。

    • 单根BIAS曲线的分析
      在任何股市分析软件上,我们都可以把一根BIAS曲线设为主要研判曲线,其它BIAS曲线的参数都设为0,这样我们也可以用这一根曲线的形态对行情进行分析判断。以12日BIAS指标为例,具体分析如下:

      1、BIAS曲线的形态: BIAS曲线出现的各种形态也是判断行情走势、决定买卖时机的一种分析方法。
        (1) 当BIAS曲线在高位形成M头或三重顶等顶部反转形态时,可能预示着股价由强势转为弱势,股价即将大跌,应及时卖出股票。如果股价的曲线也出现同样形态则更可确认,其跌幅可以用M头或三重顶等形态理论来研判。
        (2) 当BIAS曲线在低位出现W底或三重底等底部反转形态时,可能预示着股价由弱势转为强势,股价即将反弹向上,可以逢低少量吸纳股票。如果股价曲线也出现同样形态更可确认,其涨幅可以用W底或三重底形态理论来研判。
        (3) BIAS曲线的形态中M头和三重顶形态的准确性要大于W底和三重底
      2、BIAS曲线与股价运行曲线的配合使用
        (1) 当股价曲线与BIAS曲线从低位同步上升,表示短期内股价有望触底反弹或继续上涨趋势。此时,投资者可逢低买入或持股待涨。
        (2) 当BIAS曲线从下向上突破0度线,同时股价也突破短期均线的压力时,表明股价短期将强势上涨,投资者应及时买入股票。
        (3) 当股价曲线与BIAS曲线从高位同步下降,表示短期内股价将形成头部或继续下跌趋势。此时,投资者应及时逢高卖出股票或持币观望。
        (4) 当BIAS曲线从上向下突破0度线,同时股价也跌破中长期均线的支撑时,表明股价的中长期下跌行情已经开始,投资者应及时中长期离场观望。
        (5) 当BIAS曲线开始从高位向下回落,形成一峰比一峰低的走势,而股价曲线却还在缓慢上升,形成一峰比一峰高的走势,则可能意味着股价走势出现“顶背离”现象。
        (6) 当BIAS曲线开始从低位向上扬升,形成一底比一底高的走势,而股价曲线却还是缓慢下降,形成一底比一底低的走势,则可能意味着股价走势出现“底背离”现象。

    关于BIAS的具体介绍参考MBA智库百科:
    http://wiki.mbalib.com/wiki/BIAS

    8. RSV-未成熟随机值

    RSV=999×100 R S V = 当 日 收 盘 价 – 9 日 内 最 低 收 盘 价 9 日 内 最 高 收 盘 价 – 9 日 内 最 低 收 盘 价 × 100

    RSV是英文Raw Stochastic Value的缩写,中文意思是未成熟随机值。是股票里面的一个概念。RSV 指标主要用来分析市场是处于“超买”还是“超卖”状态:RSV高于80%时候市场即为超买状况,行情即将见顶,应当考虑出仓;RSV低于20%时候,市场为超卖状况,行情即将见底,此时可以考虑加仓。

    9. OBV量比

    OBV=sign()×V O B V = s i g n ( 当 日 股 票 收 盘 价 − 前 日 股 票 收 盘 价 ) × 当 日 成 交 量 V

    其中sign为符号函数,其表达形式为:
    sign(x)=101x>0,x=0.x<0 s i g n ( x ) = 1 x > 0 , 0 x = 0 . − 1 x < 0

    英文全称是:On Balance Volume,是由美国的投资分析家Joe Granville所创。该指标通过统计成交量变动的趋势来推测股价趋势。OBV以“N”字型为波动单位,并且由许许多多“N”型波构成了OBV的曲线图,对一浪高于一浪的“N”型波,称其为“上升潮”(UP TIDE),至于上升潮中的下跌回落则称为“跌潮”(DOWN FIELD)。能量潮是将成交量数量化,制成趋势线,配合股价趋势线,从价格的变动及成交量的增减关系,推测市场气氛。

    由于OBV的计算方法过于简单化,所以容易受到偶然因素的影响,为了提高OBV的准确性,可以采取多空比率净额法对其进行修正。

    =×V 多 空 比 率 净 额 = ( 收 盘 价 - 最 低 价 ) - ( 最 高 价 − 收 盘 价 ) ( 最 高 价 - 最 低 价 ) × V

    • 应用法则
      1、当股价上升而OBV线下降,表示买盘无力,股价可能会回跌。
      2、股价下降时而OBV线上升,表示买盘旺盛,逢低接手强股,股价可能会止跌回升。
      3、OBV线缓慢上升,表示买气逐渐加强,为买进信号。
      4、OBV线急速上升时,表示力量将用尽为卖出信号。
      5、OBV线从正的累积数转为负数时,为下跌趋势,应该卖出持有股票。反之,OBV线从负的累积数转为正数时,应该买进股票。
      6、OBV线最大的用处,在于观察股市盘局整理后,何时会脱离盘局以及突破后的未来走势,OBV线变动方向是重要参考指数,其具体的数值并无实际意义。
      7、OBV线对双重顶第二个高峰的确定有较为标准的显示,当股价自双重顶第一个高峰下跌又再次回升时,如果OBV线能够随股价趋势同步上升且价量配合,则可持续多头市场并出现更高峰。相反,当股价再次回升时OBV线未能同步配合,却见下降,则可能形成第二个顶峰,完成双重顶的形态,导致股价反转下跌。

    关于OBV更多的讨论可以参考:
    https://baike.baidu.com/item/%E8%83%BD%E9%87%8F%E6%BD%AE?fromtitle=OBV&fromid=3635727#2


    参考文献:
    https://blog.csdn.net/sjtuai/article/details/76436002

    —————————— EOF ———————————–

    展开全文
  • 机器学习因子策略

    千次阅读 2019-04-29 13:58:50
    在二级市场的量化策略中,多因子策略称得上是最早被创造但同时也是变化最多的投资策略之一,好的因子意味着长期稳定的收入,因此能够发现一个好的因子是每位宽客的一致愿望。多因子策略理解起来并不复杂,实现起来却...
  • 机器学习量化多因子选股策略

    千次阅读 2019-07-25 14:25:23
    一、前言 多因子选股策略是一种应用十分广泛的选股策略,其基本思构想就是找到某些和收益率最相关的指标,找出股票收益率与各种指标之间的“关系”,借此“关系”建立股票组合,并期望该...机器学习和多因子选股...
  • 基于机器学习的多因子寻物app.pdf
  • 因子模型学习笔记

    2020-12-16 10:28:51
    因子模型本质是将对N只股票的收益——风险预测转变为对K个因子的收益——风险预测,将估算个股收益率的协方差阵转化为估算因子收益率的协方差阵。 多因子模型构建流程主要包括:因子筛选、收益预测、风险预测、...
  • 基于Pairwise排序学习因子分解推荐算法.pdf
  • 数据分析学习笔记:因子分析

    千次阅读 2021-04-03 00:25:29
    因子分析是什么 因子分析定义 因子分析就是在尽可能不损失信息或少损失信息的情况下,将多个变量减少为少数的几个潜在因子,这几个因子可以高度地概括多个变量的信息,是一种将多变量进行化简的技术。这一过程也叫...
  • 基于机器学习的优化股票多因子模型.pdf
  • 基于机器学习的优化股票多因子模型,唐思佳,熊昕,本文旨在构建机器学习优化股票多因子模型,用以处理A股市场风格切换和选股问题来最终获得超额收益。分别从因子表达,机器学习算�
  • 深度学习研究报告之七:深度学习框架下高频数据因子挖掘
  • 融合深度学习因子分解机的兴趣点签到预测研究.pdf
  • 人工智能43:因子观点融入机器学习.pdf
  • 鄙人学习笔记 文章目录因子分析基本理论因子载荷的求解因子旋转因子得分主成分分析与因子分析的区别因子分析的步骤与逻辑框图步骤逻辑框图 因子分析 因子分析( factor analysis)模型是主成分分析的推广。它也是...
  • 逻辑回归无法学习到特征间的组合关系,因此有了 因子分解机FM 和 场感知因子分解机FFM。 接下来,介绍下场感知因子分解机的主要应用。FFM模型可以自动做特征组合和处理高维稀疏特征,因而它在处理大量离散特征问题...
  • 基于遗忘因子最小二乘的自适应学习控制
  • 机器学习-因子分析(FA)

    千次阅读 2018-12-26 20:45:20
    因子分析是一种通过可观测变量分析背后隐藏因子(也称为公共因子)的方法\color{red}{因子分析是一种通过可观测变量分析背后隐藏因子(也称为公共因子)的方法}因子分析是一种通过可观测变量分析背后隐藏因子(也称为公共...
  • 机器学习(十)——因子分析

    千次阅读 2016-11-21 10:34:08
    机器学习(十)——因子分析
  • 一、因子分解机FM的模型 因子分解机(Factorization Machine, FM)是由Steffen Rendle提出的一种基于矩阵分解的机器学习算法。1、因子分解机FM的优势 对于因子分解机FM来说,最大的特点是对于稀疏的数据具有很好的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 99,392
精华内容 39,756
关键字:

学习因子