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

描述

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

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

 

GitHub

1.怎么判断“炒作”?

 

 

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

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

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

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

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

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

2.功能与说明

 

 

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

 

GitHub



 

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

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

 

GitHub

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

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

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

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

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

 

GitHub

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

3.安装部署

 

 

在Python实用宝典后台回复: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。

我们的文章到此就结束啦,如果你喜欢今天的Python 实战教程,请持续关注Python实用宝典。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分