用Ptrade写一个”仿真行情数据“生成器

老胡上山打老虎
老胡上山打老虎 任何事情都需要倾入热情。

2 人点赞了该文章 · 369 浏览

证券标的价格行情数据体现在常见的行情软件里是K线的样式,假设我们只看收盘价,它是一个横轴为时间,竖轴是价格的二维表。我们眼睛看到的价格走势似乎呈现了一定的震荡或者趋势的走势,但是实际上它是否可能仅仅是一种随机游走状态呢?


很多量化人应该听说过 蒙特卡罗测试,对于量化交易者运用这个,主要是通过一定规则的限制,生成一个随机的行情数据,然后生成N次的模拟行情数据,来反复验证模拟未来可能出现的各种情况下策略的表现。算是一种对策略健壮性的测试方法。


名词解释:蒙特卡罗测试(Monte Carlo Simulation),也称蒙特卡罗仿真实验,是一种基于概率统计理论的数值计算方法。它利用随机数(或更常见的伪随机数)来解决很多计算问题,这些问题可能很难用其它方法解决,或者根本没有已知的解决方法。蒙特卡罗方法的基本思想是通过大量的随机抽样来估计一个复杂问题的解。


今天我心血来潮,用PT的平台简单搞一个简化版本的”分析、模拟目标标的特征,生成模拟价格行情数据的小工具。这种模拟的方法有点” 蒙特卡罗 “的意味,理论上来说,基于类似的算法进一步深化写下去,是可以用它来开发一个模拟测试策略应对未来行情的测试工具。


第一步、在回测模块下,新建一个策略:


第二步、点击回测模块,右上角回测按钮,经过回测,日志输出如下


第三步、去研究模块,根目录下下载生成出来的电子表格文件(这里我分别生成了3次,也就有了3个模拟行情,顺便在电子表格内画了走势图,大家看看)


总结,关于这个小示例:

1、我模拟的是510900.SS,也就是H股ETF,分析的数据长度是过去800天的日线收盘数据,这个小工具里面通过修改这个部分的参数设置,可以模拟任意你有兴趣模拟的标的;

2、范例里我只分析了历史行情的价格波动率,并没有进一步考虑其他特征,算是很简易的算法;

3、示例代码里面目前的设置是一次回测只生成一组模拟行情,其实如果想生成多一些,只需要在生成数据那个地方增加一点循环即可,喜欢的朋友可以试试。


发布于 2024-03-14 21:20

免责声明:

本文由 老胡上山打老虎 原创发布于 百果量化交流平台 ,著作权归作者所有。

登录一下,更多精彩内容等你发现,贡献精彩回答,参与评论互动

登录! 还没有账号?去注册

老胡上山打老虎
2024-03-27 15:06
@韩小小 应该说你要仿造什么频率的走势,就提供给算法提供对应的波动率数据,并且提供一个模拟起点价格,设定对应的要生成的长度。当然那样就需要自己微调一部分代码了。
韩小小
2024-03-27 12:25
这里直接用日k数据的波动率是不是也行?
老胡上山打老虎
2024-03-15 10:33
@linyun 看下源代码第13行,就在那边
linyun
2024-03-15 10:31
请问作者,历史数据如何获取啊,能否公布一下get_history()函数的源码