题主说的量化学堂中的策略是一个小市值而且回测区间比较短,所以曲线看着还行,这个初衷是为了让矿友对因子选股有个概念,没有做更多精细的处理。
至于其他的疑问我简单的回答一下
上面有提到手续费和滑点等,优矿的回测框架中都是有考虑的。
[h2]交易税费 commission[/h2]含券商手续费和印花税,优矿回测框架默认采用买千分之一,卖千分之二的税费也可以自己设置更改。
券商手续费:券商收的下单手续费,中国A股市场目前为双边收费,每个券商的手续费不一而足
印花税:是国家强制征收的印花税,目前对卖方单边征收,对买方不再征收,目前为0.1%
默认为commission = Commission(buycost=0.001, sellcost=0.002, unit='perValue')
[h2]滑点 slippage[/h2]在真实的证券成交环境下,下单的点位和最终成交的点位往往有一定的偏差,订单下到市场后,往往会对市场的走向造成一定的影响。比如买单会提高市场价格,卖单会降低市场价格。
优矿为了更真实地模拟策略在真实市场的表现,增加了滑点模式,用于处理市场冲击问题。
默认为slippage = Slippage(value=0.0, unit='perValue')
在模拟交易中还考虑了交易撮合的问题,实时行情,最优五档即时成交。
至于去除停牌股等,优矿的回测框架会对证券池进行涨跌停、停牌、未上市等情况进行预处理:
模拟投资中的账户,记录了整个回测过程中的信息,包括持仓信息、当前日期等不断变化的信息
- 停牌:
当天股票停牌、退市、未上市,则无法买入;- 您在handle_data函数中调用 account.universe参数,就能返回当天已经剔除了停牌、退市、未上市的股票列表。
- 涨跌停:
- 当天股票涨停则该股票无法买入,当天股票跌停则该股票无法卖出;
- 调用 order 相关的下单函数后,回测框架会自动对涨跌停股票做不成交处理,订单成交结果可以在订单成交状态中查看。
- [h2]拆分与股息:[/h2]
股票偶有发生分红、配股、拆分、合并等事件,此时股票价格和持仓数量会出现大幅的变动。
为了保障这些数据的连续性,优矿上已做前复权处理,在回测框架中使用回测框架提供的行情数据(比如 account.get_history)、回测框架在成交撮合时使用的行情数据,都已做前复权处理。
还有幸存者偏差、前视偏差、极端情况我们都提供了函数或者例子帮忙处理。
上面温如提到了数据的问题,我们公司专门有100多人的数据团队在进行数据的生产及清洗,这些数据在优矿上大多是免费提供给大家使用,也许我们不是最好,但我们一直在力求变的更好。
投资从来不是件容易的事,我们只希望通过自己的努力能帮助大家提升研究效率、降低运营成本,找寻alpha的路上能更加顺畅一些。
附上老大 @薛昆Kelvin 成立优矿之初的理念
优矿又名Mercury水星:创始之初,只有两样东西;“上帝的精神(Spirit of God) 和水 (waters)。”我们提供了水,有才能的人只要有上帝造世的精神就可以了。
|