如何利用Python找到下一个“游戏驿站”?

Python客栈

共 1846字,需浏览 4分钟

 · 2022-03-04

Reddit Hyped Stocks — 是GitHub上开源的一个基于 Python 开发的查找 Reddit 当前被炒作的股票的Web应用程序。

通过它,你或许能找到下一支“游戏驿站”。

1.怎么判断“炒作”?



作者使用“炒作得分”的概念对Reddit上所有被炒作的股票进行了排序,其中炒作得分的计算如下:

收集的原始数据包含所选子Reddit的前n个帖子,每次都会收集包括点赞在内的所有基本数据。

每个帖子都会被标记为某只股票的炒作贴(基于标题)。

然后建立一个矩阵,其中每一行代表一个时间点,每一列代表一只股票。矩阵的值表示在某个时间点,一只股票的所有帖子的炒作分数的总和。

然后计算每个时间点的差值作为增量值,比如我想知道过去7天的炒作分数排行,我会对各个股票将过去7天的增量值之和作为总和来计算炒作分数并进行排行。

有关确切的算法,请查看源代码中的 ticker_score_calulation.py

2.功能与说明



炒作图(顶部),即下图所示:



该图表显示了Reddit上当前炒作分数最高的一些股票,显示了排名前15位的股票的累计炒作得分。默认情况下,这个图表显示过去一星期内各个股票的分数变化。

炒作表(左侧),如下图所示:

这里会显示排名前30位的炒作股票及其各自的炒作得分,以下值:

  • Score Abs:所有相关帖子的炒作分数总和

  • Δ7d/Δ3d/Δ1d:周期分别为7/3/1天的增量炒作得分

另外,每一行都指示一天的仓位增/减(两个上/下箭头表示+/- 5个排名,一个上/下箭头表示小于+/- 5个排名,= 表示不变)。

单击股票名字后,会打开详细信息视图:

这里会展示股票的基本信息,每股收益、所属行业、PE值、关联的Reddit帖子等等。


3.安装部署



在公众号后台回复:Reddit 可以获取此开源代码库的代码和数据(reddit-hyped-stocks 及 data.db)。

(选项1)使用Docker运行应用程序:

1. 克隆此仓库或将其下载到本地计算机

2. 要使用没有你自己的数据的应用程序,你可以从:
https://drive.google.com/file/d/12aAc35F5a0_doGE7Af8xsukRyNKPo1g0/view?usp=sharing
获取示例数据库,下载并将文件复制到 backend/data.db

4. 运行./run-server-docker.sh 这将需要一些时间来下载依赖项并构建应用程序

5. 浏览器打开 http://localhost:5000 访问页面

(选项2)在没有Docker的情况下运行应用程序/设置开发环境

1. 将存储库克隆到本地计算机

2. 安装Python 3和Node.js

3. cd 到 backend 并运行 pip3 install -r requirements.txt 以安装后端依赖项。运行 backend/start.sh 以运行后端开发服务器

4. cd 到 frontend 并运行 npm i 以安装前端依赖项。运行 npm run start 以运行前端开发服务器。

(非必须)收集原始数据

由于炒作得分取决于帖子,因此必须定期(例如每小时)爬取 Reddit 帖子数据。

必须条件:获取 Reddit API token:

1. 前往 https://www.reddit.com/prefs/apps

2. 点击“创建应用”并填写信息,使用“script”类型

3. 将密钥和应用程序ID复制到文件中:  backend/praw.ini

默认情况下,子论坛 robinhoodpennystocks 和 pennystocks 会被爬取(可在中配置backend/load_data.py)。

数据会被保存到Sqlite数据库中。要查询数据,请使用脚本 backend/load_data.py 或运行 ./run-load-data-docker.sh。


机器学习研究今年谁最火?几何深度学习成最大赢家

豆瓣APP截图悄悄添加用户信息水印,遭全网怒喷

警惕!Python 中少为人知的 10 个安全陷阱!

Swift团队把Swift之父气跑了

点击关注公众号,阅读更多精彩内容
浏览 16
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报