Github项目推荐 | 被昨天的股票吓哆嗦了吗,试试用Trump2Cash帮你赶紧脱坑

2019 年 5 月 7 日 AI研习社

昨天(2019.05.06)的国内股市大家也都看到了,川普的一句推特威力真的太可怕了......(虽然今天涨了一点回去,但是本质上还是亏了呀)

但是不用担心,这个机器人(本项目)会追踪唐纳德·特朗普(Donald Trump)的推文,并且在他提及到任何一家上市公司时会进行通知。当他发推特的时候,它会使用情绪分析来确定他的意见对这些公司是积极的还是消极的。然后,机器人将会根据预期的市场反应自动执行相关股票的交易。它还在推特 @Trump2Cash 上实时发布其调查结果的摘要。

有关本项目的背景信息,点击底部【阅读原文】戳链接看论文:https://medium.com/@maxbraun/this-machine-turns-trump-tweets-into-planned-parenthood-donations-4ece8301e722

Github项目地址:

https://github.com/maxbbraun/trump2cash


项目代码用Python编写,你可以在Google Compute Engine实例上运行。每当特朗普发推文时,它都会使用Twitter Streaming API得到通知。实体检测和情绪分析使用Google的Cloud Natural Language API(云自然语言API)完成,Wikidata Query Service(Wikidata查询服务)提供公司数据,用TradeKing API进行股票交易。

main模块定义了一个回调函数,处理传入的推文并开始将特朗普的推文分析结果传输出去:

def twitter_callback(tweet):    companies = analysis.find_companies(tweet)        if companies:        trading.make_trades(companies)        twitter.tweet(companies, tweet)        if __name__ == "__main__":    twitter.start_streaming(twitter_callback)

核心算法在分析交易模块中实现。前者在特朗普推特的文本中检索对公司的提及,寻找它们的股票代码,并给推文打情绪分。后者则选择一种交易策略,即要么现在买进,然后在收盘时卖出;要么现在卖空,然后在收盘时买进以回补。twitter模块处理流媒体和发推输出摘要。

请按照以下步骤自行运行代码:

1. 创建虚拟机实例

查看快速入门,使用GoogleComputeEngine创建云平台项目和Linux虚拟机实例,然后通过SSH执行以下步骤。选择与你的首选价格和性能相匹配的预设机器类型

容器

或者,你可以使用Dockerfile构建Docker容器并在ComputeEngine或其他平台上运行它

docker build -t trump2cash .docker tag trump2cash gcr.io/<YOUR_GCP_PROJECT_NAME>/trump2cashdocker push gcr.io/<YOUR_GCP_PROJECT_NAME>/trump2cash:latest

2. 设置身份验证

从shell环境变量中读取不同API的身份验证密钥。每项服务都有不同的步骤来获取它们。

Twitter

登录你的Twitter帐户并创建一个新应用程序。在应用程序Keys and Access Tokens(密钥和访问令牌)选项卡下,你将找到Consumer Key和Consumer Secret。导出到环境变量:

export TWITTER_CONSUMER_KEY="<YOUR_CONSUMER_KEY>"export TWITTER_CONSUMER_SECRET="<YOUR_CONSUMER_SECRET>"

如果你希望推文来自拥有该应用程序的同一帐户,只需在同一页面上使用访问令牌和访问令牌密钥即可。如果你想用其他帐户发送推文,请按照步骤获取访问令牌。然后导出到环境变量:

export TWITTER_ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>"export TWITTER_ACCESS_TOKEN_SECRET="<YOUR_ACCESS_TOKEN_SECRET>"

Google

按照Google Application Default Credentials的说明创建、下载和导出服务帐户密钥。

export GOOGLE_APPLICATION_CREDENTIALS="/path/to/credentials-file.json"

你还需要为你的Google云平台项目启用云自然语言API

TradeKing

登录你的TradeKing帐户并创建一个新应用程序。在应用程序Details 按钮后面,你将找到Consumer Key,Consumer Secret,OAuth (Access) Token和Oauth (Access) Token Secret。将它们全部导出到环境变量:

export TRADEKING_CONSUMER_KEY="<YOUR_CONSUMER_KEY>"export TRADEKING_CONSUMER_SECRET="<YOUR_CONSUMER_SECRET>"export TRADEKING_ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>"export TRADEKING_ACCESS_TOKEN_SECRET="<YOUR_ACCESS_TOKEN_SECRET>"

同时导出你的TradeKing帐号,你可以在My Accounts(我的帐户)下找到:

export TRADEKING_ACCOUNT_NUMBER="<YOUR_ACCOUNT_NUMBER>"

3.安装依赖库

有一些库依赖项,你可以使用pip进行安装:

$ pip install -r requirements.txt

4.运行测试

通过使用下面的命令运行pytest测试,验证是否运行正常:

$ export USE_REAL_MONEY=NO && pytest *.py -vv

5.运行基准测试

基准测试报告显示了分析和交易算法的当前实现将如何对历史数据执行。你可以再次运行它来对你可能做出的任何更改进行基准测试:

$ python benchmark.py > benchmark.md

6.启动机器人

启用使用你的资金的真实订单:

$ export USE_REAL_MONEY=YES

使用以下命令让代码在后台运行:

$ nohup python main.py &

License

Copyright 2017 Max Braun

根据Apache许可证2.0版(“许可证”)获得许可;除非符合许可,否则你不得使用此文件。你可以在以下位置获取许可证副本:

http://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则根据许可证分发的软件将按“原样”分发,不附带任何明示或暗示的担保或条件。有关管理许可下的权限和限制的特定语言,请查看LICENSE


点击 阅读原文,查看更多内容
登录查看更多
0

相关内容

Twitter(推特)是一个社交网络及微博客服务的网站。它利用无线网络,有线网络,通信技术,进行即时通讯,是微博客的典型应用。
AI创新者:破解项目绩效的密码
专知会员服务
33+阅读 · 2020年6月21日
还在修改博士论文?这份《博士论文写作技巧》为你指南
斯坦福2020硬课《分布式算法与优化》
专知会员服务
118+阅读 · 2020年5月6日
KGCN:使用TensorFlow进行知识图谱的机器学习
专知会员服务
81+阅读 · 2020年1月13日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
179+阅读 · 2020年1月1日
专知会员服务
115+阅读 · 2019年12月24日
Github六个知识图谱实战项目推荐
专知
382+阅读 · 2019年6月2日
量化交易系列课程
平均机器
10+阅读 · 2019年5月9日
GitHub 热门:别再用 print 输出来调试代码了
Python开发者
27+阅读 · 2019年4月24日
6月份最热门的机器学习开源项目Top10
AI前线
8+阅读 · 2018年7月3日
精选Top30!最实用的python开源项目都在这里
乌镇智库
4+阅读 · 2018年1月26日
Python 开源项目 Top30 | 值得收藏
人工智能头条
8+阅读 · 2018年1月19日
Knowledge Flow: Improve Upon Your Teachers
Arxiv
5+阅读 · 2019年4月11日
Arxiv
4+阅读 · 2018年5月10日
Arxiv
9+阅读 · 2018年3月23日
Arxiv
23+阅读 · 2017年3月9日
VIP会员
相关VIP内容
AI创新者:破解项目绩效的密码
专知会员服务
33+阅读 · 2020年6月21日
还在修改博士论文?这份《博士论文写作技巧》为你指南
斯坦福2020硬课《分布式算法与优化》
专知会员服务
118+阅读 · 2020年5月6日
KGCN:使用TensorFlow进行知识图谱的机器学习
专知会员服务
81+阅读 · 2020年1月13日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
179+阅读 · 2020年1月1日
专知会员服务
115+阅读 · 2019年12月24日
相关资讯
Github六个知识图谱实战项目推荐
专知
382+阅读 · 2019年6月2日
量化交易系列课程
平均机器
10+阅读 · 2019年5月9日
GitHub 热门:别再用 print 输出来调试代码了
Python开发者
27+阅读 · 2019年4月24日
6月份最热门的机器学习开源项目Top10
AI前线
8+阅读 · 2018年7月3日
精选Top30!最实用的python开源项目都在这里
乌镇智库
4+阅读 · 2018年1月26日
Python 开源项目 Top30 | 值得收藏
人工智能头条
8+阅读 · 2018年1月19日
Top
微信扫码咨询专知VIP会员