前言
这篇文章主要写的是我们在进行ptrade策略研究时所用到的设置函数介绍。整个设置函数我分成了两个部分,尽量给大家讲解明白!
ptrade的开通渠道可以看文章末尾处!
一、set_universe——设置股票池
这个函数主要是用来设置和更新我们要用的股票池的!这个函数只能用于设定get_history函数中的security_list。除了这个作用没有其他的用途了!
security_list:要获取数据的股票列表;
示例
def initialize(context):
g.security = ['600570.SS','600571.SS']
# 将g.security中的股票设置为股票池
set_universe(g.security)
def handle_data(context, data):
# 获取初始化设定的股票池行情数据
his = get_history(5, '1d', 'close', security_list=None)
二、set_benchmark——设置基准
这个函数是用来设置策略的比较基准的,我们前面所展现出来的策略评价中的指标就是这里设置的
需要注意的是这个函数只能在initialize使用。
如果我们不使用这个函数,那么默认的就是使用沪深300(000300.ss)的价格来作为判断策略好坏和一系列指标的基准。
示例
def initialize(context):
g.security = '000001.SZ'
set_universe(g.security)
#将上证50(000016.SS)设置为参考基准
set_benchmark('000016.SS')
def handle_data(context, data):
order('000001.SZ',100)
三、set_commission——设置佣金费率
这个是用来设置佣金费率的
回测手续费的计算主要有两个方面,佣金费和经手费,经手费=0.487*交易金额。
set_commission(commission_ratio=0.0003, min_commission=5.0, type="STOCK")
commission_ratio:佣金费率,默认股票每笔交易的佣金费率是万分之三,ETF基金、LOF基金每笔交易的佣金费率是万分之八。(float)
min_commission:最低交易佣金,默认每笔交易最低扣5元佣金。(float)
type:交易类型,不传参默认为STOCK(目前只支持STOCK, ETF, LOF)。(string)
示例
def initialize(context):
g.security = '600570.SS'
set_universe(g.security)
#将佣金费率设置为万分之三,将最低手续费设置为3元
set_commission(commission_ratio =0.0003, min_commission=3.0)
def handle_data(context, data):
pass
四、set_fixed_slippage和set_slippage——设置滑点
set_fixed_slippage这个函数是用于设定固定滑点的。主要是为了让模拟盘的交易更加的贴合实盘,毕竟滑点实盘是不可以避免的。
固定滑点指的是委托价格与最后的成交价格的价差设置,这个价差是一个固定的值(比如0.02元,撮合成交时委托价格加减0.01元)不设置的话默认为0!
set_slippage是用来设置滑点比例的
示例1
def initialize(context):
g.security = '600570.SS'
set_universe(g.security)
# 将滑点设置为固定的0.2元,即原本买入交易的成交价为10元,则设置之后成交价将变成10.1元
set_fixed_slippage(fixedslippage=0.2)
def handle_data(context, data):
pass
示例2
def initialize(context):
g.security = '600570.SS'
set_universe(g.security)
#将滑点影响比例设置为0.2
set_slippage(slippage = 0.2)
def handle_data(context, data):
pass
结语
ptrade的渠道可以通过《ptrade开通详则》来获取,感谢看到这里,如果有更多疑问欢迎在评论区支出!