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.安裝部署
在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實用寶典。
-
Web
+關注
關注
2文章
1276瀏覽量
70492 -
python
+關注
關注
56文章
4821瀏覽量
85744 -
GitHub
+關注
關注
3文章
479瀏覽量
17280
發布評論請先 登錄
相關推薦
評論