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

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

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

如何利用Python找到下一个“游戏驿站”?_第1张图片

1.怎么判断“炒作”?

\

\

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

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

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

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

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

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

2.功能与说明

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

如何利用Python找到下一个“游戏驿站”?_第2张图片

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

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

如何利用Python找到下一个“游戏驿站”?_第3张图片

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

  • Score Abs:所有相关帖子的炒作分数总和
  • Δ7d/Δ3d/Δ1d:周期分别为7/3/1天的增量炒作得分

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

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

如何利用Python找到下一个“游戏驿站”?_第4张图片

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

3.安装部署

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

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

  1. 克隆此仓库或将其下载到本地计算机
  2. 要使用没有你自己的数据的应用程序,你可以从:https://drive.google.com/file...\
    获取示例数据库,下载并将文件复制到 backend/data.db
  3. 运行./run-server-docker.sh 这将需要一些时间来下载依赖项并构建应用程序
  4. 浏览器打开 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/...
  2. 点击“创建应用”并填写信息,使用“script”类型
  3. 将密钥和应用程序ID复制到文件中:  backend/praw.ini

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

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

以上就是本次分享的所有内容,如果你觉得文章还不错,欢迎关注公众号:Python编程学习圈,每日干货分享,发送“J”还可领取大量学习资料。或是前往编程学习网,了解更多编程技术知识。

你可能感兴趣的:(python)