在加密货币市场上运行算法交易策略的框架。

gryphon-alpha的Python项目详细描述


alttext

鹰头狮交易框架

gryphon是一个开源软件平台,用于构建和运行加密货币市场中的算法交易策略。它是由最早的加密货币交易公司之一Tinker建造的,迄今交易量已达数十亿美元。


^{}
Documentation
Documentation Status

包含的内容

鹰头狮既是一个可以集成到其他项目中的软件库,也是一个用于运行交易策略和运营交易业务的应用程序套件你如何使用鹰头狮取决于你的目标。一些亮点是:

图书馆亮点:

  • 交换集成~由于加密货币交换都有自己的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板,了解有关如何贡献的更多信息。

了解更多信息

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

推荐PyPI第三方库


热门话题
java Spring启动启用HTTPS   actionscript 3 java中的这个[“var”+“name”]   java只匹配给定集合中一个字符的一个匹配项   java Hibernate:防止角色表中出现多个相同的条目   javajersey+Spring注入servlet请求   java HtmlEditor javafx失去焦点   java Apache Wicket AjaxRequestTarget ListView组件未刷新或更新   mysql java。无法将lang.String转换为java。sql。时间戳   java将巨大的整数文件(在一行中)拆分为具有内存限制的已排序块   安卓如何完全关闭proguard?   安装Eclipse和Android SDK后的java“无AVD可用”消息   java动态显示图像视图   java在Spring中还有哪些WebsocketClient实现?   java Glassfish需要很长时间才能重新启动   使用Java简单串行连接器将pc与arduino连接   java如何在camel文件组件配置中结合readLockCheckInterval和maxMessagesPerPoll?   单击Android时的java预览图像   java如何将字节数组转换为ByteArrayOutputStream