在股票量化策略的初始化函数中,要进行一些初始化的设置,例如:设置参考基准、设置交易费用、设置成交比例等,JoinQuant平台提供了一些写好的方法,可以帮助我们直接使用,并且提供相关API文档
设置基准函数set_benchmark(security)
set_benchamark
函数接受一个标的参数,security可以是股票代码、指数代码或者ETF代码,默认情况下是以沪深300为基准的;没有返回值
该函数只能在initialize
函数中使用
所谓设置基准,即设置一个参考线,比如:如果以沪深300为基准,则可以沪深300的价格线作为是否跑赢市场的参考
示例:
# 设定招商银行股票为基准
set_benchmark('60036.XSHG')
# 设定深证指数为基准
set_benchmark('399001.XSHG')
# 设定50ETF基金指数为基准
set_benchmark('510050.XSHG')
设置佣金/印花税函数set_order_cost(cost, type, ref=None)
指定每笔交易要收取的手续费, 系统会根据用户指定的费率计算每笔交易的手续费
先看一个使用示例:
# 股票类每笔交易时的手续费是:买入时佣金万分之三,卖出时佣金万分之三加千分之一印花税, 每笔交易佣金最低扣5块钱
set_order_cost(OrderCost(open_tax=0, close_tax=0.001, open_commission=0.0003, close_commission=0.0003, close_today_commission=0, min_commission=5), type='stock')
参数解析
cost是OrderCost对象
- open_tax,买入时印花税 (只股票类标的收取,基金与期货不收)
- close_tax,卖出时印花税 (只股票类标的收取,基金与期货不收)
- open_commission,买入时佣金
- close_commission, 卖出时佣金
- close_today_commission, 平今仓佣金
- min_commission, 最低佣金,不包含印花税
type是参考代码
对应的实参:stock 股票、fund 基金、index_futures 金融期货、futures 期货、bond_fund 债券基金、stock_fund 股票基金、QDII_fund QDII基金、money_market_fund 货币基金、mixture_fund 混合基金
ref
参考代码,支持股票代码/基金代码/期货合约代码,以及期货的品种,如 ‘000001.XSHE’/’511188’/’IF1709’/’IF’
示例:
股票类每笔交易时的手续费是:买入时佣金万分之三,卖出时佣金万之三加千分之一的印花税,每笔交易佣金最低扣5元钱