标签归档:investment

GamestonkTerminal-彭博终端的自由/开源软件替代方案

Gamestonk终端是一个令人敬畏的股票和密码市场终端,它是为了好玩而开发的,而我看到我的GME股票暴跌。不过,嘿,我喜欢这个股票💎🙌

进展如何:

Gamestonk Terminal为投资研究提供了一个基于Python的现代集成环境,允许普通的Joe零售交易员利用最先进的数据科学和机器学习技术

作为一个基于Python的现代环境,GamestonkTerminal打开了对数据科学(Pandas、Numpy、Scipy、Jupyter)、机器学习(Pytorch、TensorFlow、SkLearning、FLAIR)和数据采集(Beautiful Soup)和众多第三方API中众多Python数据库的访问

捐赠

Gamestonk终端是一个免费的开源软件。这意味着整个代码库是公开的,任何用户都可以免费使用

我们的一个小团队一直在努力为项目提供尽可能多的更新,这是在工作时间之外完成的,通常是深夜来改进这个工具。虽然我们没有从Gamestonk终端赚到任何钱,但我们希望确保我们所有的用户都能从我们的软件中获得最好的投资。随着我们继续在这个项目上继续建设,我们将非常感谢任何形式的捐赠或支持,这样我们就可以购买更多的咖啡来为我们提供更多的燃料!

这是我们的Patreon页面:https://www.patreon.com/gamestonkterminal

有很多方法可以帮助支持商品及服务税。如果您想提供非货币性的帮助,请加入我们的discord与朋友共享终端也会有很大帮助。先谢谢猩猩

快速入门

安装

如果您想看安装过程的视频记录,@JohnnyDankSeed已经提供了一个here

user@mchow01已经提供了关于以下内容的教程how to run the terminal on an Apple M1

该项目支持Python 3.7、3.8和3.9

我们当前的建议是将此项目与Anaconda的Python发行版一起使用-可以是完整的Anaconda3 LatestMiniconda3 Latest该项目中的几个功能利用了机器学习。机器学习Python依赖项是可选的。如果您决定在以后添加机器学习功能,则使用Anaconda的Python发行版可能会获得更好的用户体验

  1. 启动项目

  1. Install Anaconda(它在AUR上以python或Miniconda3的形式出现!)

使用以下命令确认您拥有它:conda -V输出应该是类似以下内容的内容:conda 4.9.2

  1. 安装Git
conda install -c anaconda git
  1. 克隆项目
  • 通过HTTPS:git clone https://github.com/GamestonkTerminal/GamestonkTerminal.git
  • 通过SSH:git clone git@github.com:GamestonkTerminal/GamestonkTerminal.git
  1. 导航到项目的文件夹
cd GamestonkTerminal/
  1. 创建环境

您可以随心所欲地命名环境。尽管您可以使用如下名称:welikethestockthisisthewaydiamondhands,我们推荐一些简单直观的东西,比如gst这是因为从现在开始将使用这个名称。

conda env create -n gst --file build/conda/conda-3-8-env.yaml
  1. 激活虚拟环境
conda activate gst

注意:最后,您可以使用以下命令将其停用:conda deactivate

  1. 安装诗歌依赖项
poetry install

如果您在诗歌方面遇到问题(例如,在Windows系统上),只需使用pip安装Requirements.txt即可

pip install -r requirements.txt
  1. 你准备好玩游戏了!
python terminal.py
  1. (Windows-可选)加快未来的打开流程

安装Gamestonk终端后,您会发现一个名为“Gamestonk Terminal.bat”的文件。您可以使用此文件更快地打开Gamestonk终端。如果您愿意,可以将此文件移动到您的桌面。如果您在尝试运行批处理文件时遇到问题。如果您遇到批处理文件的问题,请编辑该文件并检查目录是否匹配。此文件假定您在安装时使用了默认目录

注:当您关闭终端并重新打开它时,您需要重新调用的唯一命令是conda activate gst在你打电话之前python terminal.py又一次

故障排除:如果您在安装时遇到问题,请查看我们的最新版本troubleshoot page

高级用户安装-机器学习

如果您是高级用户并使用其他Python发行版,我们有几个Requirements.txt文档可供您选择以下载项目依赖项

如果在步骤5中使用的是conda而不是build/conda/conda-3-8-env.yaml配置文件,请使用build/conda/conda-3-8-env-full

注意:在requirements.txt文件已经过测试并可用于此项目,但是,这些文件可能是较旧的版本。因此,建议用户在安装它们之前设置一个虚拟Python环境。这允许将不同项目所需的依赖项保存在不同的位置

如果您想使用可选的机器学习功能:

ENABLE_PREDICT = os.getenv("GTFF_ENABLE_PREDICT") or True
  • 安装可选的ML功能依赖项:
poetry install -E prediction

如果要设置坞站映像,请执行以下操作:

  • 构建码头:docker build .
  • 运行它:docker run -it gamestonkterminal:dev

注意:docker的问题是它不会输出matplotlib图形

更新终端

终端不断更新新功能和错误修复,因此,要更新您的终端,您可以运行:

git pull

要获取最新更改,请执行以下操作

如果由于您修改了一些python文件而导致此操作失败,并且与更新冲突,您可以使用:

git stash

然后,重新运行poetry installpip install -r requirements.txt要获取任何新的依赖项,请执行以下操作

安装完成后,您就可以开始游戏了

如果你stashed您以前所做的更改,您可以使用以下命令取消隐藏:

git stash pop

API密钥

该项目围绕几个不同API调用构建,无论是访问历史数据还是财务数据

以下是需要密钥的情况:

获得这些信息后,不要忘记更新config_terminal.py

或者,也可以将它们设置为以下环境变量:

网站 变量
Alpha Vantage GT_API_KEY_ALPHAVANTAGE
Binance GT_API_BINANCE_KEY
GT_API_BINANCE_SECRET
CoinMarketCap GT_CMC_API_KEY
GT_CMC_API_KEY
DEGIRO GT_DG_用户名
GT_DG_PASSWORD
GT_DG_TOTP_SECRET
FRED GT_API_FRED_KEY
Financial Modeling Prep GT_API_KEY_FINANCIALMODELINGPREP
Finhub GT_API_FINNHUB_KEY
News GT_API_NEWS_TOKEN
Oanda GT_OANDA_TOKEN
GT_OANDA_ACCOUNT
Polygon GT_API_POLYGON_KEY
Quandl GT_API_KEY_QUANDL
Reddit GT_API_Reddit_Client_ID
GT_API_Reddit_Client_Secret
GT_API_Reddit_用户名
GT_API_Reddit_USER_AGENT
GT_API_Reddit_Password
Tradier GT_Tradier_Token
Twitter GT_API_Twitter_KEY
GT_API_Twitter_SECRET_KEY
GT_API_Twitter_承载令牌

示例:

export GT_API_REDDIT_USERNAME=SexyYear

环境变量也可以在.env回购顶部的文件。git会忽略此文件,因此您的API密钥将保密。上面的示例存储在.env将是:

GT_API_REDDIT_USERNAME=SexyYear

请注意,GT_API_REDDIT_USER_AGENT获取Reddit API密钥时设置的脚本名称。请注意,获取每日OHLC值不需要有效的Alpha Vantage密钥

用法

首先加载感兴趣的自动收报机:

load -t GME

加载自动收报机后,菜单将扩展到其所有菜单

查看该股票的历史数据:

view

通过加载自动收报机并设置起始点对历史数据进行切片,例如

load -t GME -s 2020-06-04

使用进入技术分析菜单

ta

并使用以下条件运行SMA:

sma

但是,假设您想要更改窗口的长度,因为您不想走得太长,而是想做一个摆动,因此需要一个较小的窗口。检查SMA命令上有哪些可用设置:

sma -h

一旦看到这一点,请在标记参数后设置所需的参数。在这种情况下,要将长度窗口更改为10,我们必须执行以下操作:

sma -l 10

示例:

贡献

对这个项目的贡献主要有3种方式

对于在添加新功能的同时解释repo体系结构的1小时编码会议,请查看https://www.youtube.com/watch?v=9BMI9cleTTg

成为贡献者🦍

如果你买了DIP,我会推荐你,而股价却一直在下跌。你最好在石块上升的时候让自己忙碌起来。

  1. 分叉项目
  2. 创建您的要素分支(git checkout -b feature/AmazingFeature)
  3. 提交您的更改(git commit -m 'Add some AmazingFeature')
  4. 通过运行以下命令安装预提交挂接:pre-commit install每次提交更改时,Linters都将自动运行。在更改时,您必须重新提交
  5. 推送至您的分支机构(git push origin feature/AmazingFeature)
  6. 打开拉取请求

成为一名卡伦人🤷

推荐你是否采取了高买低卖的策略

我们感兴趣的是您对哪种产品的看法features会让你买得更高卖得更低

另外,如果你因为这个航站楼而坐了好几英里,别忘了报告一个bug这样团队就可以修正,并保持旧的方式

加入🙌💎帮派

如果红色是你最喜欢的颜色,而且你从不亏本出售

欢迎加入俱乐部,并随时支持这个令人惊叹的开源项目背后的开发人员。

许可证

在麻省理工学院的许可下分发。看见LICENSE了解更多信息

免责声明

“有几件事我不是.我不是猫.我不是机构投资者,也不是对冲基金.我没有客户,也不提供个性化的投资建议收取费用或佣金.”DFV

金融工具交易涉及高风险,包括损失部分或全部投资额的风险,可能并不适合所有投资者。在决定交易金融工具之前,您应该充分了解与金融市场交易相关的风险和成本,仔细考虑您的投资目标、经验水平和风险偏好,并在需要的地方寻求专业建议。商品及服务税中包含的数据不一定准确。对于因您的交易或您对所显示信息的依赖而造成的任何损失或损害,GST和本网站中包含的任何数据提供商将不承担任何责任。

联系人

Didier Rodrigues Lopesdro.lopes@campus.fct.unl.pt

Artem Veremyartem@veremey.net

James Maslekjmaslek11@gmail.com

欢迎在以下网址分享迷失色情、迷因或任何问题:

大声喊出:

  • pll_llq查维特拉HINXX:使用Qt创建GUI
    • 请联系我们的#gui不和谐通道
  • 1lluz10ncrspy,以及马蒂亚兹:在我们的登录页上工作https://gamestonkterminal.netlify.app
  • 梅根·霍恩:管理Twitter帐户
  • 阿罗坎人:通过发展负责Forex菜单
  • 查维特拉Deel18:为了德吉罗的整合
  • 可追踪性3:通过添加多个预设屏幕

其他贡献者

cClauss,shadycuz,lolrenx,buzzCraft,衣夹,arcutright,jperkins12,nodesocket,akx,sigaloid,pchaganti,danielorf,henrytdsimmons,rowanharley,sabujp,qTipTip,gmerrall,bfxavier,donno2048,noufal85,rmassoth,benkulbertis,ricleal-fugue,rmassoth,benkulbertis,ricleal-fugue,

确认

Vnpy 基于Python的开源量化交易平台开发框架

vn.py是一套基于Python的开源量化交易系统开发框架,于2015年年1月正式发布,在开源社区6年持续不断的贡献下一步步成长为全功能量化交易平台,目前国内外金融机构用户已经超过600家,包括:私募基金、证券自营和资管、期货资管和子公司、高校研究机构、自营交易公司、交易所、Token Fund等。

全新的“vn.py全实战进阶”系列在线课程,已经在官方微信公众号[vnpy-社区访问数/每百万人:上线,覆盖cta策略(已完成)、期权波动率交易(更新中)等内容.购买请扫描下方二维码关注后,点击菜单栏的[进阶课程]按钮即可:

在使用vn.py进行二次开发(策略、模块等)的过程中有任何疑问,请查看vn.py项目文档,如果无法解决请前往官方社区论坛的[提问求助]板块寻求帮助,也欢迎在[经验分享]板块分享你的使用心得!

针对vn.py的金融机构用户,创建了一个专门的[vn.py机构用户群](QQ群号:676499931),主要分享机构应用方面相关的问题,如:银行间市场接入、资管O32系统、分布式部署等内容。请注意本群只对金融机构用户开放,加群时请注明:姓名-机构-部门.

功能特点

  1. 全功能量化交易平台(vnpy.trader),整合了多种交易接口,并针对具体策略算法和功能开发提供了简洁易用的接口,用于快速构建交易员所需的量化交易应用。
  2. 网关(vnpy.覆盖国内外所有交易品种的交易接口):
    • 国内市场
      • ctp(Ctp):国内期货、期权
      • CTP Mini(迷你):国内期货、期权
      • ctp证券(Sopt):etf期权
      • 飞马(女性):国内期货
      • 用友金融(恒生):国内期货、ETF期权
      • 飞创证券(秒):etf期权
      • 南华nhtd(Nhtd):国内期货、etf期权
      • 宽睿(OES):国内证券(A股)、ETF期权
      • 中泰xtp(Xtp):国内证券(A股)、etf期权
      • 国泰君安:国内证券(A股)
      • 恒生期权(Hsoption):etf期权
      • 华鑫奇点(TORA):国内证券(A股)、ETF期权
      • 星巴克(飞鼠):黄金TD、国内期货
      • 金仕达黄金(KS黄金):黄金TD
      • 鑫管家(Xgj):期货资管
      • 融航(罗洪):期货资管
      • 康星(中汇亿达):银行间市场
    • 海外市场
      • 富途证券(富图):港股、美股
      • 老虎证券(老虎):全球证券、期货、期权、外汇等
      • 互动经纪人(Ib):全球证券、期货、期权、外汇等
      • 易盛9.0外盘(TAP):全球期货
      • 直达期货(Da):全球期货
      • MetaTrader5(MT5):外汇、cfd、期货、股票
      • 羊驼(羊驼):美股(零佣金)
      • 卡西亚(佳兆业投资):港股
    • 数字货币
      • bitmex(Bitmex):数字货币期货、期权、永续合约
      • BYBIT(BYBIT):数字货币永续合约
      • 币安(二进制):数字货币现货
      • 币安永续(二进制):数字货币永续合约
      • OKEX(OKEX):数字货币现货、期货、永续、期权(V5统一账户)
      • 火币(火壁):数字货币现货
      • 火币期货(Hoobif):数字货币期货
      • 火币永续(霍比斯):数字货币永续
      • 霍比奥(火币期权):数字货币期权
      • Gate.io永续(Gateios):数字货币永续合约
      • 派生比特(派生比特),数字货币期权、永续合约
      • Bitfinex(Bitfinex):数字货币现货
      • Coinbase(Coinbase):数字货币现货
      • 位戳(位戳):数字货币现货
      • 1Token(一个Token):数字货币券商(现货、期货)
    • 特殊应用
      • rpc服务(Rpc):跨进程通讯接口,用于分布式架构
  3. 开箱即用的各类量化策略交易应用(vnpy.app):
    • cta_Strategy:cta策略引擎模块,在保持易用性的同时,允许用户针对cta类策略运行过程中委托的报撤行为进行细粒度控制(降低交易滑点、实现高频策略)
    • cta_backtester:cta策略回测模块,无需使用Jupyter笔记本,直接使用图形界面直接进行策略回测分析、参数优化等相关工作
    • 价差交易:价差交易模块,支持自定义价差,实时计算价差行情和持仓,支持半自动价差算法交易以及全自动价差策略交易两种模式
    • OPTION_MASTER:期权交易模块,针对国内期权市场设计,支持多种期权定价模型、隐含波动率曲面计算、希腊值风险跟踪等功能
    • Portfolio_Strategy:组合策略模块,面向同时交易多合约的量化策略(阿尔法、期权套利等),提供历史数据回测和实盘自动交易功能
    • ALGO_TRADING:算法交易模块,提供多种常用的智能交易算法:twap、狙击手、冰山、BestLimit等,支持对接外部智能算法交易服务(如金纳算法)
    • SCRIPT_TRADER:脚本策略模块,针对多标的组合类交易策略设计,同时也可以直接在命令行中实现repl指令形式的交易,不支持回测功能
    • 市场雷达:市场雷达模块,允许用户基于自定义的公式实时计算任意合约组合数据,公式支持标准Python运算语法以及内置函数
    • 纸质帐户:模拟交易模块,纯本地化实现的模拟交易功能,基于交易接口获取的实时行情进行委托撮合,提供委托成交推送以及持仓记录
    • Chart_Wizard:k线图表模块,基于RQ Data数据服务(期货)或者交易接口(数字货币)获取历史数据,并结合Tick推送显示实时行情变化
    • Portfolio_MANAGER:投资组合模块,面向各类基本面交易策略,以独立的策略子账户为基础,提供交易仓位的自动跟踪以及盈亏实时统计功能
    • rpc_SERVICE:rpc服务模块,允许将某一VN Trader进程启动为服务端,作为统一的行情和交易路由通道,允许多客户端同时连接,实现多进程分布式系统
    • DATA_MANAGER:历史数据管理模块,通过树形目录查看数据库中已有的数据概况,选择任意时间段数据查看字段细节,支持csv文件的数据导入和导出
    • 数据记录器:行情记录模块,基于图形界面进行配置,根据需求实时录制Tick或者K线行情到数据库中,用于策略回测或者实盘初始化
    • EXCEL_RTD:EXCEL RTD(实时数据)实时数据服务,基于PYXLL模块实现在EXCEL中获取各类数据(行情、合约、持仓等)的实时推送更新
    • RISK_MANAGER:风险管理模块,提供包括交易流控、下单数量、活动委托、撤单总数等规则的统计和限制,有效实现前端风控功能
  4. python交易接口接口封装(vnpy.api),提供上述交易接口的底层对接实现。
  5. 简洁易用的事件驱动引擎(vnpy.event),作为事件驱动型交易程序的核心。
  6. 对接各类数据库的标准化管理客户端(vnpy.database):
    • Sql类
      • sqlite(Sqlite):轻量级单文件数据库,无需安装和配置数据服务程序,vn.py的默认选项,适合入门新手用户
      • mysql(Mysql):世界最流行的开源关系型数据库,文档资料极为丰富,且可替换其他高newsql兼容实现(如tidb)
      • postgresql(Postgresql):特性更为丰富的开源关系型数据库,支持通过扩展插件来新增功能,只推荐熟手使用
    • Nosql类
      • mongodb(Mongodb):基于分布式文件储存(bson格式)的非关系型数据库,内置的热数据内存缓存提供更快读写速度
      • influxdb(Influxdb):针对时序数据专门设计的非关系型数据库,列式数据储存提供极高的读写效率和外围分析应用
  7. 跨进程通讯标准组件(vnpy.rpc),用于实现分布式部署的复杂交易系统。
  8. Python高性能K线图表(vnpy.Chart),支持大数据量图表显示以及实时数据更新功能。
  9. 社区论坛知乎专栏、内容包括vn.py项目的开发教程和Python在量化交易领域的应用研究等内容.
  10. 官方交流群262656087(QQ),管理严格(定期清除长期潜水的成员),入群费将捐赠给vn.py社区基金。

环境准备

  • 推荐使用vn.py团队为量化交易专门打造的Python发行版VNStudio-2.4.0,内置了最新版的vn.py框架以及VN站量化管理平台,无需手动安装
  • 支持的系统版本:Windows 7以上/Windows Server2008以上/Ubuntu18.04LTS
  • 支持的Python版本:Python3.764位(注意必须是Python3.764位版本)

安装步骤

这里下载最新版本,解压后运行以下命令安装:

窗口

install.bat

Ubuntu

bash install.sh

使用指南

  1. SimNow注册CTP仿真账号,并在该页面获取经纪商代码以及交易行情服务器地址.
  2. vn.py社区论坛注册获得VN站账号密码(论坛账号密码即是)
  3. 启动VN工作站(安装VN工作室后会在桌面自动创建快捷方式),输入上一步的账号密码登录
  4. 点击底部的VN Trader Lite按钮,开始你的交易!

注意:

  • 在VN交易员的运行过程中请勿关闭VN站(会自动退出)
  • 如需要灵活配置量化交易应用组件,请使用VN Trader Pro

脚本运行

除了基于VN站的图形化启动方式外,也可以在任意目录下创建run.py,写入以下示例代码:

from vnpy.event import EventEngine
from vnpy.trader.engine import MainEngine
from vnpy.trader.ui import MainWindow, create_qapp
from vnpy.gateway.ctp import CtpGateway
from vnpy.app.cta_strategy import CtaStrategyApp
from vnpy.app.cta_backtester import CtaBacktesterApp

def main():
    """Start VN Trader"""
    qapp = create_qapp()

    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)
    
    main_engine.add_gateway(CtpGateway)
    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()

在该目录下打开Cmd(按住Shift->点击鼠标右键->在此处打开命令窗口/powershell)后运行下列命令启动VN交易员:

python run.py

贡献代码

vn.py使用github托管其源代码,如果希望贡献代码请使用gihub的PR(拉取请求)的流程:

  1. 创建 Issue-对于较大的改动(如新功能,大型重构等)最好先开Issue讨论一下,较小的Improval(如文档改进,BUGFIX等)直接发PR即可)
  2. 叉子vn.py–点击右上角叉子按钮
  3. 克隆你自己的分叉:git clone https://github.com/$userid/vnpy.git
    • 如果你的分叉已经过时,需要手动同步:同步方法
  4. 开发人员创建你自己的功能分支:git checkout -b $my_feature_branch dev
  5. 在$MY_FEATURE_BRANCH上修改并将修改推送到你的分叉上
  6. 创建从你的分叉的$MY_FEATURE_BRANCH分支到主项目的开发人员分支的[拉取请求]-在此点击跨分叉进行比较,选择需要的Fork和分支机构创建PR
  7. 等待审查,需要继续改进,或者被合并!

在提交代码的时候,请遵守以下规则,以提高代码质量:

  • 使用autopep8格式化你的代码.运行autopep8 --in-place --recursive . 即可.
  • 使用flake8检查你的代码,确保没有Error和警告。在项目根目录下运行flake8即可.

项目捐赠

过去6年中收到过许多社区用户的捐赠,在此深表感谢!所有的捐赠资金都投入到了vn.py社区基金中,用于支持vn.py项目的运作。

先强调一下:vn.py是开源项目,可以永久免费使用,并没有强制捐赠的要求!

捐赠方式:支付宝3216630132@qq.com(*晓优)

长期维护捐赠清单,请在留言中注明是项目捐赠以及捐赠人的名字.

其他内容

版权说明

麻省理工学院