算了算已经好久没发公众号了,没有理由就是没有干货。
静下心来的这段时间,终于做了点自己这几年一直想要做的“量化”这件事,也有了一点小思考。来的晚的东西虽然来的晚,但他始终会来。
最近跟位哥一起研发了一套价值回归的套利策略,其实我们也是一起探讨,后来觉得可行性相对较大,就分享给大家来一起讨论讨论吧。重要的还是逻辑上给大家一个思路,希望大家在做价值投资的这条路上继续保持信仰。
废话不多说,直接进入主题。
价值差回归套利逻辑:
1.首先要找到市场上来说相关性较强的两个交易品种,利用走势的相关性来进行价值差回归交易。
python数据分析三剑客pandas,numpy,matplotlib直接上线,在做线性相关时还需引用statsmodels库,同时我们还要配合python重要技术指标库talib。
引入pandas库读取csv数据文件为dataframe格式。
引入numpy库计算标准差,最大值,最小值,平均值。
引用matplotlib库做绘图处理。
引入statsmodels库做最小二乘法OLS的线性回归分析。
引用talib库计算移动平均线。
和位哥探讨了外汇市场上的黄金和白银,虽然经验告诉我们黄金和白银具有很强的相关性,但在做之前还是需要数据来检验黄金白银是否存在高度线性相关,statsmodels库做线性回归判断。
R2: 0.9997933828543838
其中R2系数无限接近与1,线性相关显著,黄金和白银具有很强的相关性,这样我们的交易品种就选取好了。
2.寻找真实的价差spread为(标准手*黄金当前价*黄金规格)-(标准手*白银当前价*白银规格)
不同的平台点差不同,假定黄金点差价值在 0.50 左右,白银点差在 0.050 左右,点差价值为 0.05*50=2.5。
也就是说在交易一组的情况下要亏损 3 个点差价值,换算成 1 标准手交易一组进出场亏300美金。
理论情况为:进行1标准手的黄金白银套利交易,价差 spread>300的情况下我们能够获利。
matplotlib库画出18年下半年黄金对白银的价差走势图。
talib库画出spread移动平均线mav。
通过数据相关性检验相信价值差在大多数情况下会回归,所以我们就去做这大概率的事情。取得 spread的移动平均线,同时要取得 spread 的上下轨,利用突破上下轨回归进行套利分析。
假定上轨为 MAX,下轨为 MIN
上轨 MAX 计算方式:avg(上一交易日 24H)+std(上一交易日 24H)
下轨 MIN 计算方式:avg(上一交易日 24H)-std(上一交易日 24H)
注:avg 为平均数,std 为标准差。
当价差 spread 大于 MAX 时开仓做空1手 XAUUSD,做多1 手 XAGUSD,记录当时的spread 为 X,当 X-SPREAD(now)>3 时,进行平仓。
当价差spread小于 MIN 时开仓做多 1 手 XAUUSD,做空 1 手 XAGUSD,记录当时的spread为 X,当 SPREAD(now)-X>3 时,进行平仓。
在这个逻辑思路上我跟位哥进行回测过后发现当某些特定情况下例如当spread一直向一方走向时容易出现扛单情况,但回归后已平仓的利润能够抵挡持仓的浮亏,跑了18年的历史回测发现回测能控制在5%,收益率在10%上方,我们从价值差走势图来看18年第四季度到现在来看黄金的走强情况大于白银,我们也在考虑是否只做下轨回归的开平仓交易。欢迎大家讨论
对了我们已经实盘在followme上进行策略交易,欢迎大家关注讨论,同时python的源代码我也上传到github上,也欢迎大家下载试用策略,目的很简单,就是策略的简单分享,帮助更多的真正想要做量化分析,价值投资的伙伴们。
followme网址:https://www.followme.cn/user/77926/zone
Github网址:https://github.com/30ge30ge/gold-xau-value
最后:
A股站上2800啦,希望有一天能在这里发A股价值投资的量化策略分享。good luck。