在加密货币市场上运行算法交易策略的框架。
gryphon-alpha的Python项目详细描述
鹰头狮交易框架
gryphon是一个开源软件平台,用于构建和运行加密货币市场中的算法交易策略。它是由最早的加密货币交易公司之一Tinker建造的,迄今交易量已达数十亿美元。
^{ |
---|
包含的内容
鹰头狮既是一个可以集成到其他项目中的软件库,也是一个用于运行交易策略和运营交易业务的应用程序套件你如何使用鹰头狮取决于你的目标。一些亮点是:
图书馆亮点:
- 交换集成~由于加密货币交换都有自己的api规范、怪癖和问题,gryphon包含一组包装器,使这些交换api符合单个可靠接口。
- 普通策略操作~在给定的策略类别中,例如做市或套利,有一些操作非常频繁。鹰头狮包括构建块库,使设计新策略更简单
应用套件:
- 执行环境——以
gryphon-execute
的形式从命令行运行,这是一个应用程序,它运行策略,并包含一些在交易业务的日常操作中常用的其他实用功能。 - 鹰头狮数据服务(gryphon data service)~一款独立的应用程序,用于高频收听市场数据和事件。GDS可用于鹰头狮的高级安装,以大大加快滴答速度GDS还可以存档它接收到的数据,随着时间的推移,它可以建立大的数据集,用于机器学习或其他分析技术
- 仪表板~作为
gryphon-dashboards
从命令行运行,这是一个连接到交易数据库的web服务器,可以帮助您可视化交易策略的活动并了解交易业务的健康状况
安装
gryphon库可以直接通过pip安装。
$ pip install gryphon-framework
要使用gryphon进行交易,需要额外的安装步骤来设置执行环境。有关详细信息,请参见本页:Installing Gryphon
如果要扩展或修改gryphon,我们建议下载代码库并通过带有-e
标志的pip进行安装。
用法
凭证和环境变量
使用gryphon敏感凭据(如api密钥)时,永远不要离开计算机。相反,gryphon应用程序从存储在启动它们的目录中的.env
文件读取凭据。.env
文件是键值对的简单列表
像coinbase这样的交换的.env条目看起来像这样。
COINBASE_BTC_USD_API_KEY=[YOUR KEY]
COINBASE_BTC_USD_API_SECRET=[YOUR SECRET]
COINBASE_BTC_USD_API_PASSPHRASE=[YOUR PASSPHRASE]
根据您希望使用的功能和希望进行交易的交换,您需要在.env文件中包含某些条目你可以阅读.env appendix来找出你需要什么。
运行内置策略
执行完执行工具后,请安装步骤here您可以使用鹰头狮执行环境来运行策略。鹰头狮有一些简单的内置策略这些不是为严肃的交易而设计的,但是对于测试和学习框架是有用的。
其中一种策略叫做“简单的市场营销”。它可以如下运行:
$ gryphon-execute strategy simple_mm --builtin [--execute]
如果不包含--execute
标志,则该策略以测试模式运行,并且不会在exchange上下任何订单。这是执行环境的一个特性,而不是策略,因此此标志适用于您在gryphon上运行或构建的每个策略。只有在准备好用真正的钱运行或测试策略时,才使用--execute
标志。
编写并运行第一个策略
gryphon有很多构建块库,可以使常见任务变得非常简单。例如,我们可以使用gryphon套利库只在三个主要函数调用中编写一个简单的套利策略。
fromgryphon.execution.strategies.baseimportStrategyimportgryphon.lib.arbitrageasarbclassGeminiCoinbaseArbitrage(Strategy):deftick(self):cross=arb.get_crosses(self.harness.gemini_btc_usd.get_orderbook(),self.harness.coinbase_btc_usd.get_orderbook(),)executable_volume=arb.get_executable_volume(cross,self.coinbase_btc_usd.get_balance(),self.gemini_btc_usd.get_balance(),)ifcrossandexecutable_volume:self.harness.gemini_btc_usd.market_order(cross.volume,'BID')self.harness.coinbase_btc_usd.market_order(cross.volume,'ASK')
复制这个在与.env文件位于同一目录下的名为'curarige.py'的python文件中编写代码,然后可以使用gryphon-execute strategy arbitrage
在测试模式下运行它
注意这里有多少功能在起作用:gryphon-execute
设置运行策略的环境,并安排逐点操作,coinbase和gemini的交换集成将使用这些api的所有实现细节抽象为简单的语义函数调用,套利库将一些复杂的计算简化为两个函数调用。
贡献指南
我们将GitHub issues用于 跟踪请求和错误。
请参阅development roadmaptrello板,了解有关如何贡献的更多信息。
了解更多信息
- Gryphon Website 参与。