VnPy:InteractiveBrokers 上的算法交易 + 回测 + 优化

问题描述 投票:0回答:0

VnPy 似乎是 GitHub 上最受欢迎的算法交易项目。突然全是中文了,不过他们说要在v3版本中引入英文本地化。

github 上还有许多其他高级项目,但活跃的项目仅与 Crypto 有关。

我更愿意使用 IB 报价和历史数据进行实时交易和回测。

我应该使用 vnpy_algotrading 还是 vnpy_ctastrategy 来实现一些具有回测和优化可能性的交易机器人?第二个似乎提供了回测和优化,但它似乎使用了一些中文数据提供者。

是否有可能做我想做的事?我需要任何额外的订阅(RData 等)吗?许多这些中文网站甚至在欧洲都无法加载。

我设法在本地运行 VnPy,包括通过 TWS APi 下订单,但我想知道 vnpy_algotrading 模块和 vnpy_ctastrategy 之间有什么区别?

这是我目前的 run.py 配置:

def main():
    
from PySide6.QtCore import QLocale
from vnpy_algotrading import AlgoTradingApp

from vnpy.event import EventEngine
from vnpy.trader.constant import Exchange
from vnpy.trader.engine import MainEngine
from vnpy.trader.object import SubscribeRequest
from vnpy.trader.ui import MainWindow, create_qapp
from vnpy_ctastrategy import CtaStrategyApp
from vnpy_ib import IbGateway


def main():
    QLocale.setDefault(QLocale(QLocale.English, QLocale.UnitedStates))

    # SU-USD-STK -> OK
    # ES-202306-USD-FUT @ CME -> OK
    # VXM-202306-USD-FUT @ CFE -> OK

    # CTA strategy: SU-USD-STK.SMART / nyse?

    qapp = create_qapp()

    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)

    ibGateway = main_engine.add_gateway(IbGateway)
    ibGateway.subscribe(SubscribeRequest("SU-USD-STK", Exchange.NYSE))
    ibGateway.subscribe(SubscribeRequest("VXM-202306-USD-FUT", Exchange.CFE))

    main_engine.add_app(AlgoTradingApp)
    main_engine.add_app(CtaStrategyApp)
    # main_engine.add_app(CtaBacktesterApp)

    main_window = MainWindow(main_engine, event_engine)
    main_window.showMaximized()

    qapp.exec()


if __name__ == "__main__":
    main()

python trading algorithmic-trading
© www.soinside.com 2019 - 2024. All rights reserved.