全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 python论坛
1240 1
2017-07-30
1. 策略原理:
     海龟交易入市法则:系统 1:以 20 日突破为基础的短期 系统;系统 2:以 55 日突破为基础的中长期系统;     海龟交易退出法则:系统 1 采用 10 日突破退出法则: 对于多头头寸而言,在价格跌破过去 10 日最低点时退出;对 空头头寸而言,在价格超过 10 日最高点时退出。总之,如果 价格发生了不利于头寸的 10 日突破,所有单位头寸都要退出。 系统 2 采用 20 日突破退出法则:对多头头寸而言,是 20 日向 下突破,对空头头寸而言,是 20 日向上突破。只要价格发生 了不利于头寸的 20 日突破,所有头寸都会退出。
     本策略只是海龟策略的框架:采用20日突破原则,20日向上突破时进行开仓,20日向下突破时进行平仓。
2. 代码解读:
    2.1 turtle.ini
复制代码
   2.2 turtle.py
复制代码
2.3 stocks.csv
exchangesec_idbuy_amount(楼)
SZSE

300275

200000

SZSE

300001

200000

SHSE

600000

200000

SHSE

600123

200000

SHSE

601988

200000


3. Python相关函数
    3.1 Python标准函数:

功能函数原型参数返回值
参数名含义
read_csv读取csv文件read_csv(s)s文件的路径csv文件
iterrows行遍历



format它通过{}和:来代替传统%方式



append用于在列表末尾添加新的对象。list.append(obj)obj添加到列表末尾的对象。该方法无返回值,但是会修改原来的列表。
join连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串'sep'.join(seq)sep分隔符。可以为空返回一个以分隔符sep连接各个元素后生成的字符串
seq要连接的元素序列、字符串、元组、字典
maxmax() 方法返回给定参数的最大值,参数可以为序列。max( x, y, z, .... )x数值表达式返回给定参数的最大值
y数值表达式
z数值表达式
minmin() 方法返回给定参数的最大值,参数可以为序列。min( x, y, z, .... )x数值表达式返回给定参数的最小值
y数值表达式
z数值表达式


   3.2 掘金接口函数:

功能函数原型参数返回值
参数名类型说明
subscribe订阅行情,策略类和行情服务了都提供该接口。subscribe(symbol_list)symbol_liststring订阅代码列表
get_last_n_dailybars提取单个代码的最新n条DailyBar数据, 策略类和行情服务类都提供该接口。get_last_n_dailybars(symbol, n, end_time='')symbolstring证券代码, 带交易所代码以确保唯一,如SHSE.600000bar列表
nint提取的数据条数
end_timestring指定截止时间, 如2015-10-30 15:00:00
on_tick响应Tick事件,收到Tick数据后本函数被调用。on_tick(tick)tickticktick数据
tick.last_price最新价




get_positions查询当前策略指定symbol(由交易所代码和证券ID组成)和买卖方向的持仓信息。策略类和交易服务类都提供该接口。get_position(exchange, sec_id, side);exchangestring交易所代码Position对象,持仓信息
sec_idstring证券代码
sideint买卖方向
open_long异步开多仓,以参数指定的symbol、价和量下单。如果价格为0,为市价单,否则为限价单。策略类和交易服务类都提供该接口。open_long(exchange, sec_id, price, volume)exchangestring交易所代码, 如上交所SHSE委托下单生成的Order对象
sec_idstring证券代码,如浦发银行600000
pricefloat委托价,如果price=0,为市价单,否则为限价单
volumefloat委托量
close_short异步平空仓接口,以参数指定exchange, 证券代码sec_id, 价和量下单。如果价格为0,为市价单,否则为限价单。策略类和交易服务类都提供该接口。close_short(exchange, sec_id, price, volume)exchangestring交易所代码, 如上交所SHSE返回委托下单生成的Order对象
sec_idstring证券代码,如浦发银行600000
pricefloat委托价,如果price=0,为市价单,否则为限价单
volumefloat委托量
close_long异步平多仓接口,以参数指定exchange, 证券代码sec_id, 价和量下单。如果价格为0,为市价单,否则为限价单。策略类和交易服务类都提供该接口。close_long(exchange, sec_id, price, volume)exchangestring交易所代码, 如上交所SHSE委托下单生成的Order对象
sec_idstring证券代码,如浦发银行600000
pricefloat委托价,如果price=0,为市价单,否则为限价单
volumefloat平仓量
open_short异步开空仓接口,以参数指定的exchange, 证券代码sec_id, 价和量下单。如果价格为0,为市价单,否则为限价单。策略类和交易服务类都提供该接口。open_short(exchange, sec_id, price, volume)exchangestring交易所代码, 如上交所SHSE委托下单生成的Order对象
sec_idstring证券代码,如浦发银行600000
pricefloat委托价,如果price=0,为市价单,否则为限价单
volumefloat平仓量


4. 金融术语
海龟交易系统作为一个著名的交易系统,具备三个特征:第一,是一个完整的交易系统,覆盖 了交易的每个环节;第二,是一个机械化的交易系统,不给交易者留下任何主观想象决策的空间和 余地;第三,是一个已经被验证可以盈利的交易系统,在多个期货品种中都可以获得稳定性的收益。
海龟交易系统涵盖了成功交易中的每一个必要环节:买卖市场(买卖什么);头寸规模(买卖 多少);入市(何时买卖);止损(什么时候放弃一个亏损的头寸);退出(什么时候退出一个赢利 的头寸);战术(怎么进行买卖)。





二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-7-31 09:01:34
顶顶顶~好贴莫沉
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群