Python的交易和回溯测试框架

tradingkit的Python项目详细描述


交易套件

此文件显示TradingKit的基本用法,有关更多文档,请参阅Wiki

PyPIcoverageConventional Commits

要求

  • python 3.7+
  • 皮普

安装

建议通过PyPi安装TradingKit si。在

PyPi

安装
pip3 install tradingkit

Source

安装 ^{pr2}$

制定策略

为了创建新的策略,您需要4个步骤

创建单独的项目

创建新的python3.7+项目,在这一步中不需要再做了。在

创建策略类

创建一个从tradingkit.strategy.strategy.Strategy扩展的类

# File my_project/my_strategy.pyimportloggingimportccxt.Exchangefromtradingkit.pubsub.event.tradeimportTradefromtradingkit.pubsub.event.bookimportBookfromtradingkit.pubsub.event.orderimportOrderfromtradingkit.pubsub.core.eventimportEventfromtradingkit.strategy.strategyimportStrategyclassMyStrategy(Strategy):def__init__(self,exchange:Exchange,config):super().__init__(exchange,config)# do whatever initializations you needdefon_event(self,event:Event):ifisinstance(event,Trade):logging.info("Order event happened!")# do whatever you need with the exchangeself.exchange.create_order(...)ifisinstance(event,Book):logging.info("Book event happened!")# do whatever you need with the exchangeself.exchange.create_order(...)ifisinstance(event,Order):logging.info("Order event happened!")# do whatever you need with the exchangeself.exchange.create_order(...)

创建主配置文件

创建system/config.json文件

{"strategy":{"class":"my_strategy.MyStrategy","arguments":["@bridge","@config"]},"config":{"symbol":"%env(SYMBOL)%"}}

创建.env文件以添加一些环境变量

# File .envSYMBOL=BTC/EUR

配置开发环境

创建system/config.dev.json文件

{"exchange":"@testex","feeder":"@backtest_feeder"}

配置实时环境

创建system/config.live.json文件

{"exchange":"@kraken","feeder":"@kraken_feeder"}

创建.env.live.local文件以添加bitmex凭据凭据

# File .env.live.localKRAKEN_KEY=xxxxxxxxxxxxxxxxxxx
KRAKEN_SECRET=yyyyyyyyyyyyyyyyyyyy

运行dev(backtest)

tk run -e dev -y 2020 -m 1 --plot

实时运行

tk run -e live --plot

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java初学者Swing递归   java将hashmap转换为JSON字符串   cURL和java字符串变量出错   java为什么不将其视为多重继承,而所有类都首先从对象类扩展,然后再扩展其他类   java如何在eclipse中添加插件依赖项   使用java从Ms word表中提取图片   java实现可比较的接口   验证生成的事务时发生java错误。木栓   java@OneToMany和不同的主键   java Jaxb2在相对路径上找不到xsd架构   java客户端C++服务器数据发送/接收问题   javajaxws-webservice。改变节点结构   java如何将带有特殊字符的字符串转换为另一个转义字符串   netbeans如何链接JGraph传感器和Java邮件?   java如何在单个tomcat中检查每个web应用程序的内存大小?   客户端图形QLJava类生成器