练习算法交易(模拟器)
Practice Algorithmic Trading (Simulator)
我想进入算法交易,所以我开始寻找 API。我偶然发现了 this answer and some others, mainly suggesting going for Interactive Brokers。
我下载了它并将 API jar 添加到我的项目中。然后我意识到我真正想要的是一个 API 可以让我看到我的算法每天的表现。
换句话说,有没有办法通过盈透证券实时 "fake trade"?如果没有,我应该使用什么其他工具或 API 来测试实时市场上的不同策略和算法?
Interactive Brokers 为账户持有人提供模拟交易账户和 400 万美元的游戏币。这意味着您在真实市场上以模拟模式进行交易。您可以像使用真钱账户一样监控您的交易表现。如果您选择这种方法,您应该只需要 API 来执行订单并检查您的投资组合的状态。 API 不太适合获取实时报价,尤其是当您关注大量交易品种时。
你的意图很明确,
解决方案并不直接
只是加载一个API
a) 你的一套可交易工具是什么?
这是第一步,具体取决于您的量化建模的方向,无论是股票、现货外汇、期货、期权、指数、商品、虚拟货币、指数期权,都会有所不同解决其余的工具。
b) 您的模型是由单一工具组成的还是基于投资组合的?
虽然这可能令人惊讶,但并非所有工具都支持基于投资组合的交易模型。如果朝这个方向发展,请小心,您的回测引擎对多资产投资组合的处理要准确且切合实际(而某些策略可能会得到 "tested",结果(输出)不需要得到保证(已经看到回测器一旦使用多资产策略就会产生无意义的输出,所以在开始 "believe" 产品之前,请谨慎并收集一组独立的证据记录,以便能够手动进行交叉验证)
c) 真正的时间流真的是你想要的吗?
虽然乍一看实时可能很有吸引力,但量化建模的共同需求不是等待时间流和回测/前向测试每个策略(通常许多模型可以 运行 同时 ) "immediately",或者至少比真正的时间流快。直接来自真实市场的事件采购几乎没有任何好处。合理地记录和存储所有相关的市场事件并系统地将已知的历史部分拆分为 InSample
和 OutOfSample
交易策略模型交叉验证的现实部分(速度比实际时间流快得多)。
这个尽可能最快的回测原则只有一个例外,以防万一,当您的交易策略将作为一种半自动化工具运行时——增加手动的、全权委托的交易类型——你自然需要调整执行速度到"human element".
在所有其他情况下,包括大规模分布式解决方案,在交易/AI-ML 分析/GUI 层之间拆分,比实际时间流执行速度更快是有益的(机器可以并且确实比市场展览的现场活动处理得更快。
d) 数据源足够粗略到您的详细程度
模拟器可能会提供EoD
数据用于回测,而您的操作目标可能需要逐笔数据。在瑞士,Dukas-Copy 量化建模数据提供商可以轻松满足您的需求。除了历史数据之外,您正在进行的工作很可能会涵盖您选择的市场准入数据流记录,以便您进一步 InSample
+ OutOfSample
交叉验证。
如果没有 a), b), c) d), 很难说,可以用什么工具。
有了这些已经确定,即使是像MATLAB
这样的通用工具,也可以为您提供坚如磐石的基础您的交易策略的量化模型。
有人可能喜欢
[ >>> Quantitative Finance ]
or
[ >>> Algorithmic Trading ]
上的一些额外帖子
我想进入算法交易,所以我开始寻找 API。我偶然发现了 this answer and some others, mainly suggesting going for Interactive Brokers。
我下载了它并将 API jar 添加到我的项目中。然后我意识到我真正想要的是一个 API 可以让我看到我的算法每天的表现。
换句话说,有没有办法通过盈透证券实时 "fake trade"?如果没有,我应该使用什么其他工具或 API 来测试实时市场上的不同策略和算法?
Interactive Brokers 为账户持有人提供模拟交易账户和 400 万美元的游戏币。这意味着您在真实市场上以模拟模式进行交易。您可以像使用真钱账户一样监控您的交易表现。如果您选择这种方法,您应该只需要 API 来执行订单并检查您的投资组合的状态。 API 不太适合获取实时报价,尤其是当您关注大量交易品种时。
你的意图很明确,
解决方案并不直接
只是加载一个API
a) 你的一套可交易工具是什么?
这是第一步,具体取决于您的量化建模的方向,无论是股票、现货外汇、期货、期权、指数、商品、虚拟货币、指数期权,都会有所不同解决其余的工具。
b) 您的模型是由单一工具组成的还是基于投资组合的?
虽然这可能令人惊讶,但并非所有工具都支持基于投资组合的交易模型。如果朝这个方向发展,请小心,您的回测引擎对多资产投资组合的处理要准确且切合实际(而某些策略可能会得到 "tested",结果(输出)不需要得到保证(已经看到回测器一旦使用多资产策略就会产生无意义的输出,所以在开始 "believe" 产品之前,请谨慎并收集一组独立的证据记录,以便能够手动进行交叉验证)
c) 真正的时间流真的是你想要的吗?
虽然乍一看实时可能很有吸引力,但量化建模的共同需求不是等待时间流和回测/前向测试每个策略(通常许多模型可以 运行 同时 ) "immediately",或者至少比真正的时间流快。直接来自真实市场的事件采购几乎没有任何好处。合理地记录和存储所有相关的市场事件并系统地将已知的历史部分拆分为 InSample
和 OutOfSample
交易策略模型交叉验证的现实部分(速度比实际时间流快得多)。
这个尽可能最快的回测原则只有一个例外,以防万一,当您的交易策略将作为一种半自动化工具运行时——增加手动的、全权委托的交易类型——你自然需要调整执行速度到"human element".
在所有其他情况下,包括大规模分布式解决方案,在交易/AI-ML 分析/GUI 层之间拆分,比实际时间流执行速度更快是有益的(机器可以并且确实比市场展览的现场活动处理得更快。
d) 数据源足够粗略到您的详细程度
模拟器可能会提供EoD
数据用于回测,而您的操作目标可能需要逐笔数据。在瑞士,Dukas-Copy 量化建模数据提供商可以轻松满足您的需求。除了历史数据之外,您正在进行的工作很可能会涵盖您选择的市场准入数据流记录,以便您进一步 InSample
+ OutOfSample
交叉验证。
如果没有 a), b), c) d), 很难说,可以用什么工具。
有了这些已经确定,即使是像MATLAB
这样的通用工具,也可以为您提供坚如磐石的基础您的交易策略的量化模型。
有人可能喜欢
上的一些额外帖子[ >>> Quantitative Finance ]
or[ >>> Algorithmic Trading ]