经管之家App
让优质教育人人可得
立即打开
全部版块
我的主页
›
论坛
›
金融投资论坛 六区
›
金融学(理论版)
›
量化投资
海龟交易法则
楼主
datayes2015
4271
4
收藏
2016-09-06
前言
海龟交易系统本质上是一个趋势跟随的系统,但是最值得我们学习的是资金管理尤其是分批建仓及动态止损的部分
一、趋势捕捉
海龟交易法则是通过唐奇安通道进行趋势捕捉
该指标是有Richard Donchian发明的,是有3条不同颜色的曲线组成的,该指标用周期(一般都是20)内的最高价和最低价来显示市场价格的波动性,当其通道窄时表示市场波动较小,反之通道宽则表示市场波动比较大。 如图所示:
该具体分析为:
当价格冲冲破上轨是就是可能的买的信号;反之,冲破下轨时就是可能的卖的信号。
该指标的计算方法为:
上线=Max(最高低,n)
下线=Min(最低价,n)
中线=(上线+下线)/2
二、资金管理
2.1 N值计算
N值是仓位管理的核心,涉及加仓及止损。另外,N值与技术指标平均真实波幅 ATR很相似
首先介绍真实波幅: 真实波幅是以下三个值中的最大值
1、当前交易日最高价和最低价的波幅
2、前一交易日的收盘价与当前交易日最高价的波幅
3、前一交易日的收盘价与当前交易日最低价的波幅
用公式写就是:
TrueRange=Max(High−Low,High−PreClose,PreClose−Low)
接下来,N值计算公式为:
其中 preN为前面N值,TrueRange为当前的真实波幅,此公式的真是含义为计算之前20天(包括今天在内)的N的平均值
另外,有些海龟交易系统用的是ATR来代替N值,ATR为真实波幅的20日平均。
2.2 买卖单位及首次建仓
先给出公式:
首次建仓的时候,当捕捉到趋势,即价格突破唐奇安上轨时,买入1个unit。
其意义就是,让一个N值的波动与你总资金1%的波动对应,如果买入1unit单位的资产,当天震幅使得总资产的变化不超过1%。例如:
现在你有10万元资金,1%波动就是1000元。假如标X的N值为0.2元,1000元÷0.2元=5000股。也就是说,你的第一笔仓位应该是在其突破上轨(假设为5元)时立刻买入5000股,耗资25000元。
2.3 加仓
若股价在上一次买入(或加仓)的基础上上涨了0.5N,则加仓一个Unit。
接上面的例子:假如N值仍为0.2。
价格来到 5 + 0.2*0.5 = 5.1时,加仓1个Unit,买入5000股,耗资25500元,剩余资金 49500元
价格来到 5.1 + 0.2*0.5 = 5.2 时再加仓1个unit。买入5000股,耗资26000元,剩余资金 23500元
2.4 动态止损
当价格比最后一次买入价格下跌2N时,则卖出全部头寸止损。
接上面的例子,最后一次加仓价格为5.2。假如此时N值0.2元。 当价格下跌到 5.2 - 2*0.2 = 4.8元时,清仓。
持仓成本为 (5+5.1+5.2)*5000/15000 = 5.1元。 此时亏损 (5.1-4.8)*15000 = 4500元 对于10万来说 这波亏损4.5%
2.5 止盈
当股价跌破10日唐奇安通道下沿,清空头寸结束本次交易
三、代码实现
本代码用ATR代替N值进行计算,其他逻辑不变:
ATR=MA(TrueRange,20)
我们以单只股票为标,建立海龟交易系统,当然,可以将总资产均分为n份,同时交易n个标。
计算ATR值用日线数据,监控价格突破采用分钟线
1.唐奇安通道计算及判断入场离场:
我们设计个函数,传入值为回测中 account.get_history()取得的某单个股票的历史数据、股票现价、T为计算唐奇安通道的数据长度,转化为dataframe格式
ATR值计算
计算unit,注意股数为100的整数倍
4.判断是否加仓或止损:
当价格相对上个买入价上涨 0.5ATR时,再买入一个unit
当价格相对上个买入价下跌 2ATR时,清仓
5.判断上次卖出操作是否成功(可能出现当日买进,之后却判断需要卖出)
回测结果:
我们发现,收益基本上处于阶梯状上升。但是几年下来收益也并不高,我们来看看记录下来的数据,分析下整个过程:
红色点为入场点;蓝色点为离场点;绿色点位止损点
可以发现:
ATR波形有些异常,有些地方会直线上升。分析后发现:因为quartz 中,account.get_daily_history()取得的最低价中,对停牌的情况处理为了0!
我们调整下策略:在计算ATR时,剔除最低为0的部分,再做平均。
累计收益相差不多,我们再来看看记录的数据。
红色点为入场点;蓝色点为离场点;绿色点位止损点
这次发现,ATR波形比较正常,在波动剧烈的时候增大。
观察入场、离场、止损点发现,海龟交易系统捕捉到了大的上涨趋势,在震荡市中不断试错止损。
上涨过程中出现回调容易震出,减少了回撤的同时也减小了收益。
再看看仓位情况
可以发现,大部分持有情况下仓位在0.5左右,甚至低于半仓,少数高于半仓的情况最高不超过0.8。因此,收益不高也是正常了。
总结
本文主要介绍了海龟交易的细节,不过是面向一个投资目标的。当想投多只股票时,可以先设定几个坑位,平分资金,然后对每个坑位采用海龟交易策略。
海龟交易系统通常会用两个趋势捕捉系统,不同之处在于价格突破的上下线计算。系统1:突破上线20日最高买,突破下线10日最低卖;系统2:突破上线55日最高买,突破下线20日最低卖。 这部分可以通过修改参数实现。
原始的海龟交易采用唐奇安通道来捕捉趋势,虽然能捕捉到大趋势,但是在震荡的情况下表现不如人意,不过这也是所有趋势型策略的通病。
海龟交易策略的核心在于资金管理,可以看出策略的回撤比较小,并且还有优化的空间。资金管理不一定要与趋势型策略结合,是不是可以用到多因子策略上?动量反转?均值回归?这些就留给各位朋友自行尝试了~
策略已经开源,刚兴趣的朋友可以自己克隆跑跑看。
源码地址:https://uqer.io/community/share/57bd5864228e5b79a575a9b2
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
全部回复
沙发
joesrd
2016-9-6 15:30:33
感谢辛苦发贴,可以完整欣赏
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
藤椅
datayes2015
2016-9-10 17:01:25
joesrd 发表于 2016-9-6 15:30
感谢辛苦发贴,可以完整欣赏
感谢支持
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
板凳
xqjy66
2018-8-22 19:22:29
来了。。。。。。。。。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
报纸
wuwuzhigx
2020-7-3 07:53:02
提示:
作者被禁止或删除 内容自动屏蔽
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
相关推荐
海龟交易法则
[下载]原版海龟交易法则
海龟交易法则英文版
(美)费斯《海龟交易法则》pdf
海龟交易法则
原版海龟交易法则
海龟交易法则
刘樊鑫:原版海龟交易法则浓缩版
原版海龟交易法则,海龟交易特训班DOC头档。
海龟交易法则 第三版
栏目导航
量化投资
SAS专版
Stata专版
学术资源/课程/会议/讲座
国民经济管理
制度经济学
热门文章
AI应用新范式:从工具革命到“超级OS”的演 ...
蔡定创教授、李云庆院长致联合国秘书长古特 ...
2022年北京冬奥会英语观后感【10篇】
瓦尔拉斯方程组及其求解历史
一般均衡证明中的关键人物与全 1 解的关联探 ...
产品质量监督抽查企业基本信息扩展数据
2018届高考化学基础模块综合检测17
达富发投资关于华策影视行情数据操作分析与 ...
现货白银交易如何保护好自己的成本?
宏观经济深度报告:AI视角下的美国就业市场
推荐文章
AI狂潮席卷学术圈,不会编程也能打造专属智 ...
最快1年拿证,学费不足5W!热门美国人工智能 ...
关于如何利用文献的若干建议
关于学术研究和论文发表的一些建议
关于科研中如何学习基础知识的一些建议 (一 ...
一个自编的经济学建模小案例 --写给授课本科 ...
AI智能体赋能教学改革: 全国AI教育教学应用 ...
2025中国AIoT产业全景图谱报告-406页
关于文献求助的一些建议
几种免费下载文献的方法----我的文献应助经
说点什么
分享
微信
QQ空间
QQ
微博
扫码加好友,拉您进群
各岗位、行业、专业交流群