东帝国贸易公司的算法交易库。
eetc-algo-trading-lib的Python项目详细描述
EETC ALGO交易
说明
EETC的python库交易算法。
这个库简化了算法交易机器人的编写和运行。 它集成了用于下单和接收实时数据的eetc服务,允许开发人员 专注于实现交易算法。
工作原理
这个库连接到EETC Data Feed并通过ZeroMQ接收实时数据。 订购股票、期权、密码等。此库通过zeromq与EETC Order Manager通信。
示例code:
fromeetc_algo_tradingimportEETCTradingBotdefalgorithm(bot_instance,topic=None,manual_trigger_details=None):bot_instance.algorithm_lock=True# kinda "obtain" lockiftopic:print("Executing Strategy for Topic: {}".format(topic))# whatever logicelifmanual_trigger_details:print("Executing Strategy Manually...")print("Request data:",manual_trigger_details)# whatever logicelse:print("Executing Strategy...")# whatever logicbot_instance.algorithm_lock=False# kinda "release" lockbot=EETCTradingBot(algorithm=algorithm,eetc_api_key="rAnDoMaPiKeyProvidedbyEETC",data_feed_topics=["candles:BTC/USD:1m"],trigger_on_topics=["candles:BTC/USD:1m"],allow_remote_triggering=False,)bot.start()
开发人员只需编写“algorithm”函数,并在初始化期间将其传递给eetctradingbot。
认证
为了能够接收数据或执行交易,需要一个api密钥,eetc将提供给您。 尽管这个库是开源的,但是任何不是eetc客户端的人都不能在没有api密钥的情况下使用这个库使用的服务。
要成为客户并获得您的api密钥,请通过以下地址与我们联系:eastempiretradingcompany2019@gmail.com
订单管理
完全由开发人员来实现他们自己的订单管理逻辑。 EETC Order Manager提供了各种api,客户端可以在这些api中获取订单信息并接收实时更新。
最常见的策略是编写一个helper函数来管理将在算法函数中执行的订单。
这种方法可能不是最方便用户使用的,但之所以选择它,是因为它给了开发人员编写策略(包括订单管理)的绝对自由。
通过ZeroMQ手动执行
策略可以通过zeromq通过req-rep套接字发送请求来手动触发。 你在这个请求中输入了什么信息以及如何处理它完全取决于你自己。 一个简单的用例可能是当一个算法不确定交易决策时,它可以调用 另一种可能做到这一点的算法。
基于事件的执行
当某种数据信号进入(主题)时,也可以触发策略。 例如,在每个“烛光:BTC/USD:1M”信号上,执行策略。
计划执行
即将到来…
系统要求
- python 3.6(还应该与pythhon3的其他版本一起使用)
- 已安装ta lib c库(https://mrjbq7.github.io/ta-lib/install.html)
安装
- PYPI存储库:https://pypi.org/project/eetc-algo-trading-lib/
- 运行命令:
pip install eetc-algo-trading-lib
开发
许可证
这个项目是根据GNU Public License授权的。