量化多因子策略回测框架Backtest

一般量化回测框架,有这么几种

第一种:在存储着trade_date和net_return,selected_stock的矩阵里计算累计收益率和净值。

去掉了停牌等不能交易的股票交易日,没有因子信息的股票交易日。

这种矩阵计算会很省时间,但是也会忽略很多东西。

第二种:核心:在trade_date 的循环判断买卖条件,里更新仓位,净值。

逻辑:


class memory():#定义一个存储仓位变化的全局类,当然你也可以用其他数据结构或者文件记录
    pass

For(all_date):
        if today==trade_date:
            today_data=get_data(trade_date,high,close,open,low)
            position_change=your_strategy(today_data)
	    memory.position=Update_position(position_change)
            memory.netvalue=Update_netvalue(position,close)


注意:框架要注意封装性,代码要干净,可读性要强,便于帮你写策略的同事理解。(废话,啥给别人看的代码都得可读性强。。)

功能上尽量齐全,留好接口,日后研究方便(废话,肯定功能越多越好)

金融上要考虑停牌,复权,ST股票,涨跌停无法交易等实际性问题。(废话,当然会考虑,但是考虑这么多写代码多麻烦!)

 
  


学习方法:多阅读git上开源的回测框架比如zipline

你可能感兴趣的:(Python)