(永久免费,扫码加入)
本篇是量化系列的内容,已经购买小册的不要看了。
我的小册:(小白零基础用Python量化股票分析小册) ,原价299,限时特价2杯咖啡,满100人涨10元。
双均线策略应该是所有的股票软件,股票网站都必备的一个策略。无论是在同花顺,还是券商软件都有这个策略。我们简单介绍一下这个策略的来龙去脉,以及如何写这个策略的信号。两条移动平均线(Moving Average, MA):一条短期均线和一条长期均线。这两条线通常是基于不同时间段的股票收盘价计算出来的平均值。短期均线:这通常是近期(如10天或20天)的移动平均线,反映了股票短期价格走势。长期均线:这是基于较长时间段(如60天或100天)的移动平均线,展示了股票的长期趋势。金叉:当短期均线从下向上穿过长期均线时,这通常被视为买入信号。这表明短期趋势正在转向上升,可能预示着价格上涨。死叉:当短期均线从上向下穿过长期均线时,这通常被认为是卖出信号。这意味着短期趋势开始下降,可能预示着价格下跌。股票上行就是金叉买,死叉卖,因为不涉及做空,对于A股只有买入和平仓 比较简单。其他的市场是有做空机制,会更复杂一些。2. 如何写双均线策略的信号
解释了规则之后,我们来实际用Python代码写一下这个策略,我们还是用创业板的头牌特锐德2023 从1月到12月的数据来演示:
直接用rolling函数计算均线值,其实也可以用talib计算(这个我们会放在进阶教程里面讲),接着我们来写一下信号:首先我们把策略信号Signal 初始化为空值
做多需要有2个条件:
比如上图,红色表示5日均线快线,蓝色表示10日均线 慢线
当天的5日快线大于10日慢线的时候(表示股价开始上行),同时我们要确认前一天的K线 5日快线低于10日慢线的,满足这2个条件,我们才能认为是要开仓的信号,然后我们在隔天的开盘下单买入,或者晚上用前一天的收盘价买入。
在量化领域 习惯用long 表示多头,即买入。
平仓也需要2个条件:
上图,红色表示5日均线快线,蓝色表示10日均线 慢线
当天的5日快线低于10日慢线的时候(表示股价开始下行),同时我们要确认前一天的K线 5日快线大于在10慢线的,满足这2个条件,我们才能认为是要平仓的信号,然后我们在隔天的开盘下单平仓,或者晚上用前一天的收盘价平。
在量化领域 习惯用short 表示空头,即卖出,运算上面的代码,我们打印出来看一下信号:
1). 特锐德 2023-11-30 19.17 18.990000 19.015000 NaN221 特锐德 2023-12-01 18.93 19.034000 18.990000 1.0
解读一下,12月1号 ma-fast 19.034 大于 ma-slow 18.99 ,而前一天 11月30号 ma-fast 18.99 是小于ma-slow 19.01 ,所以当天收盘之后,我们的策略发出了1的信号,就是做多;
2). 特锐德 2023-12-05 18.63 18.944000 18.903000 NaN224 特锐德 2023-12-06 18.73 18.860000 18.903000 0.0
解读一下,12月6号ma-fast 18.73 小于 ma-slow 18.90,而前一天 12月5号 ma-fast 18.63 大于 ma-slow 18.94,所以当天收盘之后,我们的策略发出信号0,即平仓
3.对信号进行处理
大家有没有发现有很多信号,都是NaN 就是空值,非常不利于我们观察,我们看一下前20行的内容:
这个信号从1月3号到1月9号都是空值NaN,从1月9号之后应该是开多了,但是也是空值,到了2-22应该平仓了,平仓之后的日子应该是空仓,但是也是空值NaN。所以这个信号是需要处理的。
我们把Signal这一列做了空值向前填充,fillna(method='ffill'),就是比如1月10号之后,开仓了,那么之后每天应该都是1,除非遇到新的信号出现,否则应该跟前面信号保持一致。然后最开始几天1月3号到9号直接用0填充。这个就是基本的双均线策略,双均线算是所有策略的一个基本入门款,非常适合完全不懂量化的同学来研究,我们后面很多复杂的内容,也是基于这个策略展开的,大家务必要好好掌握。我们下一篇见!
最后推荐一下我们团队写的量化小册的内容,45篇内容!从Python安装,入门,数据分析,爬取股票基金的历史+实时数据,以及如何写一个简单量化策略,策略回测,如何看资金曲线统统都有介绍!非常超值!
欢迎订阅:原价299 早鸟价2杯咖啡钱,即可永久阅读。满400人又要涨价了,现在的价格非常非常低,只要2杯奶茶,就可以终身订阅+课程源码,还有永久陪伴群。48小时无理由退款,放心食用!