实现回测系统
在交易策略的开发过程中,回测是至关重要的环节。通过回测,我们可以在历史数据上检验策略的有效性,避免在实际交易中盲目操作。本文将详细介绍如何实现一个简单的回测系统,以测试均值回归策略。
1. 事件驱动系统的优势
使用事件驱动系统有助于实现代码的模块化和可重用性。通过交换和使用不同系统组件中的相似事件,我们可以更灵活地设计交易平台。同时,面向对象编程的应用进一步增强了代码的组织性,类可以清晰地定义系统中的对象。这种设计对于连接不同的市场数据源、多种交易算法和运行环境非常有用,并且模拟交易环境接近真实情况,有助于防止前瞻偏差。
2. 设计和实现回测系统
我们的目标是实现一个简单的回测系统,以测试均值回归策略。具体步骤如下:
- 使用数据源提供商的每日历史价格,以苹果(AAPL)股票价格为例,计算特定工具的价格回报波动率。
- 测试一个理论:如果一段时间内回报的标准差偏离零均值超过特定阈值,则生成买入或卖出信号。
- 当信号生成时,发送市价单到交易所,在下一个交易日的开盘价执行。
- 开仓后,跟踪未实现和已实现的利润。当出现相反信号时,平仓。
- 回测完成后,绘制利润和损失图,评估策略的有效性。
3. 编写存储tick数据的类
我们需要一个类来存储从市场数据源接收到的单个数据单元。以下是 TickData 类的实现:
class TickData(object):
""" Stores a single unit of data """
构建事件驱动回测系统
超级会员免费看
订阅专栏 解锁全文
1438

被折叠的 条评论
为什么被折叠?



