其他
DataShare | 6000+个股票的每日财经新闻
整理自
https://www.kaggle.com/miguelaenlle/massive-stock-news-analysis-db-for-nlpbacktests https://github.com/bot-developer3/Scraping-Tools-Benzinga. 文末有数据获取方式
背景
获得高质量(历史)股市新闻数据既困难又昂贵; 订阅历史新闻数据提供商服务可能需要花费数千美元。
在这里,我将直接从其来源中抓取的股票新闻数据编译成易于使用的格式。我还在此处提供了用于获取此数据的脚本以及我用于个人实时交易此数据的脚本:
数据集
采集了6000只股票2009-2020年间的4万条新闻文章
raw_analyst_ratings.csv
直接抓取分析师评级数据,有1034位分析师对6204只股票进行了股票分析,分析记录累积1407328条, 字段包括:索引、标题、URL、文章作者(出版商总是benzinga)、出版时间戳、股票代码。
请注意,此 CSV 文件中的所有日期均不包含精确的时分秒信息。如果您打算使用此文件进行回测(analyst_ratings_processed.csv 更好),请假设文章是在第二天而不是当前文章中显示的日期发布的。
import pandas as pd
pd.set_option('display.max_columns', None)
analyst_ratings_df = pd.read_csv('data/raw_analyst_ratings.csv')
analyst_ratings_df.head()
len(analyst_ratings_df)
1407328
#有6204个股票
analyst_ratings_df.stock.nunique()
6204
#分析师有1034位
analyst_ratings_df.publisher.nunique()
1034
raw_partner_headlines.csv
直接抓取原始新闻标题,共有1845559条记录, 字段包括:索引、标题、URL、出版商(不是 benzinga)、日期、股票行情。
partner_headlines_df = pd.read_csv('data/raw_partner_headlines.csv')partner_headlines_df.head()
len(partner_headlines_df)
1845559
analyst_ratings_processed.csv
处理过的分析师评级数据, 共有1400469条记录, 字段包括:文章标题,日期,股票
时区为 UTC-4。这与 raw_analys_theadlines 之间的区别在于,它具有精确到分钟的日期,而 raw_analys_tratings 只是没有小时或分钟的那一天。
analyst_ratings_processed_df = pd.read_csv('data/analyst_ratings_processed.csv')analyst_ratings_processed_df.head()
len(analyst_ratings_processed_df)
1400469
注意
数据爬自benzinga.com,新闻内容版权归Benzinga所有。
广告
对新闻类文本的分析与处理,如果这类数据大到一定程度,需要
结合python、pandas导入数据,进行文本清洗 结合已有相关情感词典,进行情感分析 使用词典或向量法扩充领域词典,再进行情感分析 也可使用机器学习,进行LDA话题分析,或文本分类甚至是机器学习。
以上技术储备在 腾讯课堂 | Python网络爬虫与文本数据分析 课中均有讲授,感兴趣的童鞋可以点击链接了解详情 https://ke.qq.com/course/482241
数据获取
链接:https://pan.baidu.com/s/1ATlEqfjaWsW0pq6wup5YaQ
密码:19l1
近期文章
预报名 | 结构模型、Stata实证前沿、Python数据挖掘国庆工作坊