暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

海龟交易系统回测

量化分析之路 2020-04-12
693

1:海龟是交易史上最著名的实验,因为在随后的四年中学员取得了年均复利80%的收益。

2海龟们(理查德•丹尼斯将学员们称为’海龟’)商定在他们议定的10年保密协议于1993年终止后不泄露海龟法则,但个别海龟在网站上出售海龟交易系统获取利润

3柯蒂斯.菲爵(最成功的海龟之一,年化收益率超过100% )为阻止个别海龟对知识产权的偷窃和岀售海龟法则而赚钱的行为,决定在网站上将海龟交易法则免费公之于众。这也是海龟交易法则的出处

4柯蒂斯•菲斯总结了海龟交易系统本身、海龟的训练过程、海龟的交易历程以及海龟交易系统成功的本质(心理管理和仓位控制),贯彻海龟交易系统的能力,完成了被称为有史以来最优秀的的5本交易著作之一《海龟交易法》


成功的交易系统 具有统一性和完整性

1 良好的交易系统可以自动运行整个交易程序。对于交易员在交易中必须遵守的每项决策,系统都会给出答案。该系统使交易员更容易进行一致性的交易,因为有一套明确说明应该做什么的法则。交易的机械化就是不留给交易员自己进行思考与判断。

2:优秀的交易系统包括 选择-买卖什么;头寸规模->买卖多少;入市->何时买卖;止损->何时退出亏损的头寸;离市->何时退出赢利的头寸;策略->如何买卖现价交易(时间优先) ,限价交易(价格优先)

3良好交易系统应经过详细的回测,以明确其盈利和亏损的概率以及盈利时的收益与亏损时的损失,这有利于建立投资的信心并保证交易者对纪律的遵守。并且经过长时间实盘验证


海龟交易系统的成功原因

•海龟交易系统有较高的概率,并且在盈利时设置较高的仓位,保证了较高的胜率。

•海龟交易系统是一个完整的交易系统。其法则覆盖了交易的各个方面,并且不给交易员留下一点主观想象决策的余地。它具备一个完整交易系统的所有成分。


纪律性  在亏损时按照系统信号进行交易  而不是按照交易员的判断。



:买卖什么   流动性要好

二: 何时买卖   唐安奇通道突破

买卖多少 -头寸管理    unit


四 止损       跌破最后一次买入时价格的2*ATR

止盈跌破 上升中 跌破下轨  

海龟交易系统是一个完整交易系统  虽然现在用它可能赚不到钱 但是他的交易思想和策略是值得我们学习的  


 以下是代码回测

import numpy as np
import pandas as pd
import talib as ta
import datetime


start = '2015-01-01' # 回测起始时间
end = '2015-06-01' # 回测结束时间
universe = DynamicUniverse('A') # 证券池,支持股票、基金、期货、指数四种资产
benchmark = 'HS300' # 策略参考标准
freq = 'd' # 策略类型,'d'表示日间策略使用日线回测,'m'表示日内策略使用分钟线回测
refresh_rate = 1 # 调仓频率,表示执行handle_data的时间间隔,若freq = 'd'时间间隔的单位为交易日,若freq = 'm'时间间隔为分钟

# 配置账户信息,支持多资产多账户
accounts = {
'fantasy_account': AccountConfig(account_type='security', capital_base=10000000)
}


Max_position_per = 0.1
Max_history_window = 250
Max_time_range = 30
limit_unit = 4
atrlength = 20 #计算真实波幅考虑的周期数
DC_range = 20 #计算DC通道的周期
trade_percent = 0.01 #每次交易占比 基础值


record = pd.DataFrame({'symbol':[],'add_time':[],'last_buy_price':[] })




def initialize(context):
pass


def handle_data(context):
timing_turtle(context)


def calcUnit(portfolio_value,ATR):
value = portfolio_value * trade_percent
return int((value/ATR)/100)*100
    
def timing_turtle(context):
global record
account = context.get_account('fantasy_account')
current_universe = context.get_universe(exclude_halt=True)
security_position = account.get_positions()
history = context.history(current_universe,['closePrice','lowPrice','highPrice'],Max_time_range,rtype= 'array')
cash = account.cash

for sec in current_universe:
close = history[sec]['closePrice']
low = history[sec]['lowPrice']
high = history[sec]['highPrice']
current_price = context.current_price(sec)
#计算atr
atr = ta.ATR(high,low,close,atrlength) [-1]
#入场 突破唐奇安通道 上轨 买入一个UNIT
if current_price>high[-DC_range:-1].max() and sec not in security_position:
unit = calcUnit(account.portfolio_value,atr)
account.order_to(sec,unit)
if len(record) !=0:
                record = record[record['symbol']!=sec]    #清空不符合要求记录
record = record.append(pd.DataFrame({'symbol':[sec],'add_time':[1],'last_buy_price':[current_price] }))
continue

elif sec in security_position:
last_price = float(record[record['symbol']==sec]['last_buy_price'])
add_price = last_price + 0.5*atr
add_unit = float(record[record['symbol']==sec]['add_time'])
if current_price > add_price and add_unit <limit_unit:
unit = calcUnit(account.portfolio_value,atr)
account.order_to(sec,unit)
record.loc[record['symbol'] ==sec ,'add_time'] =record[record['symbol']==sec]['add_time']+1
record.loc[record['symbol'] ==sec ,'last_buy_price'] =current_price

elif current_price <low[-int(DC_range/2) :-1].min or current_price< (last_buy_price -2*atr):
account.order_to(sec,0)
record = record[ record['symbol']!=sec]

看了一下15年前半年的收益  比较一般 没跑赢大盘  回撤较小还可以 

 

因为我用的是免费版 优矿   内存不足了 今天主要是学习一下 一个完整交易系统应该具备哪些思路  后面准备学习一下常用的CTA策略和机器学习tensorflow 读研时候的东西又要捡起来了

数据库
文章转载自 量化分析之路,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

聚圣源郑州限号2021最新限号2月泗阳电视台猪宝宝起名使用那些字武侠小说推荐潘氏女生高分起名大全人力资源公司起名字大全免费男孩陈昊起名如何初九出生起名字工程装饰公司起名策字起名daidoh叒怎么读?免费起姓名软件廉政风险防控柴犬起名字日系www.txtbook.com子夜读后感电脑命令西施秘史演员表党员意识漫客阅读器给公司起个霸气点的名字大全仿瓷砖中本聪车臣黑寡妇姓贾女起名字起名水产店给姓于的男宝宝起名字楼中楼男宝宝姓崔起名大全淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化