【完整代码】公开年化150%的股票双均线策略

发布于: 修改于:雪球转发:0回复:0喜欢:0

#沪深300ETF再度显著放量#

#上证指数#

$捷荣技术(SZ002855)$ $剑桥科技(SH603083)$

说起量化投资,许多同志就认为是写代码,很多不会编程的同志就头疼,其实市场中有很多已完善好的工具,可以帮助大家轻松运用量化工具,以战胜市场。

这篇1分钟听懂量化交易,定能帮大家理解量化交易的核心原理和逻辑。

【链接:姚木木财富圈:【科普]】1分钟听懂量化交易的核心逻辑

看完文章的原理介绍,按照文中提到的量化交易流程,我的目标是写尽常见的所有策略,我们这就开始吧

1:购买炼丹设备:找到量化工具

首先祭出炼丹炉:一台机械师8核电脑

盛丹紫金大葫芦:免费的大qmt回测平台

82年的三昧真火:家庭用100M宽带

回测时间段选择:2018年初-2023年底

开干!开干! 开干!

2:选择炼丹材料:找到量化数据

材料1:2只精心挑选的股票价格数据

股票池 = ['603083.SH','002855.SZ']

可以自己定义这个股票池

自己想测试哪个就测试哪个票

材料2:股票的10日均线和20日均线

#轻轻松松获取数据: 获取收股票数据=ContextInfo.get_market_data(['high','low','close'],stock_code=[k],period ='1d', count = 25) 收盘价日线数据 = (HQSJ['close']) # 轻松计算10日和20日均线 10日均线 = MA(clo,10) 20日均线 = MA(clo,20) def MA(S,N): return RD(pd.Series(S).rolling(N).mean()).values

qmt都免费提供,使用简单方便

3:完成炼丹过程:完成量化回测

写出买卖逻辑:已详细注释

if 10日均线[-1]> 20日均线[-1] and 10日均线[-1] > 10日均线[-2]: # 买点条件:10日均线大于20日均线且股价上穿10日均线 for 股票 in 股票池: order_target_value(k,500000,ContextInfo,ContextInfo.accID)#按 print("买入",股票) elif 10日均线[-1] < 20日均线[-1] or 10日均线[-1] < 10日均线[-2]: # 卖点条件:10日均线小于20日均线,或者股价下穿10日均线 for 股票 in 股票池: if dict_pos[code].m_nCanUseVolume>0 :#持仓大于0 order_target_value(k,0,ContextInfo,ContextInfo.accID) print("卖出",股票)

完成这几行代码后开始炼丹回测:

经过5秒钟,回测成功,输出如下图片

只测试2023年一年的时候,策略年化收益率150%,最大回撤6.2%

当然,这是因为选票是选的大牛股,案例要快乐!

时间拉长到2018-2023,数据就平庸一些了

至于为什么,也简单,以后再说,知道多了脑子疼

添加图片注释,不超过 140 字(可选)

4:炼成优质仙丹:完成策略优化

上面图片中的结果,是10日和20日均线得到的结果

但是10和20是最优的组合吗,我也不知道,那就继续实验

使用qmt免费的参数优化神器,对参数做个大型分析

设置均线1定义取值范围:3-20

设置均线2定义取值范围:20-60

均线1的取值范围有 20 - 3 + 1 = 18 个可能的取值;

均线2的取值范围有 60 - 20 + 1 = 41 个可能的取值。

因此,两个均线的取值共有 18 * 41 = 738 种不同的组合。

来吧,经过自动738次计算,得到此表:

结论就是选择3日均线和20日均线搭配,效果最好

5:搭建仙丹生产线:完成策略实盘

qmt本身就是实盘交易软件,在下图中位置,点击运行,就可以接入实盘,马上就可以开始跑起来了,极为简单,一个量化思路就转变为实盘策略,努力为你挣钱。

实际上呢,这个案例主要是用于讲解流程,对于个股,均线策略本身很难有很强的盈利能力,均线策略用在基金中的效果就会好很多,至少不会大亏。

比如我们文中得出的均线参数(3,20),那么我们在通达信可以看出:

添加图片注释,不超过 140 字(可选)

面对新能源这种,下跌70%的基金

双均线策略依旧能吃到上涨段,避开暴跌段

整体亏损会远小于基金本身的下跌幅度

当我们避开了亏损,盈利是不是就容易很多了

欢迎来找我:【16年1800倍】发布一个小白也会玩的投资神器