Skip to main content

通用股票数据提取器

项目描述

*****
Stock Extractor
*****

这个包包括一系列股票数据提取器类,来自一些广泛使用的来源,例如 Yahoo Finance、
Barchart.com 等。


=====
安装
==== =

``pip install stock_extractor``

包有以下依赖:

* requests
* pandas
* beautifulsoup4


=====
USAGE
=====

包目前有四个提取器类

* SP500Extractor

用于提取S&P的股票数据500 家公司

* YahooFinanceInfoExtractor

用于从雅虎财经中提取最新的股票数据和信息

* YahooFinanceHistoryQuoteExtractor

用于从 Yahoo Finance 中提取股票的历史报价数据

* YahooFinanceDivExtractor用于从 Yahoo Finance SP500Extractor

中提取股票的历史股息数据----- .. code-block:: python # import extractor class from stock_extractor import SP500Extractor extractor = SP500Extractor() # get_sp500_symbol_list() 以列表形式返回所有 SP500 公司符号 sp500_symbols = extractor.get_sp500_symbol_list() # get_sp500_data_by_type(type) 检索 sp500 公司股票信息并将结果存储在 pandas 数据框中 # type 可以是 'main ','技术',或'性能'
















# 'main' 包括字段:'Symbol'、'Name'、'Last Price'、'Change'、'Percent'、'High'、'Low'、'Volume'、'Time'
# 'technical' 包括字段: 'Symbol', 'Name', 'Last Price', 'Opinion', '20D-Strength', '20D-Volty', '20D-AVol', '52W-Low', '52W-High'
# 'performance'包括字段:'Symbol'、'Name'、'Last Price'、'Weighted-Alpha'、'YTD-Pct'、'1Month-Pct Change'、'3Month-Pct Change'、'1Year-Pct Change'
提取器。 get_sp500_data_by_type('technical')

# get_sp500_full_data() 将检索所有三种类型的数据并将它们组合到数据帧
提取器中。get_sp500_full_data()

# get_dataframe() 将返回存储检索到的数据的数据帧
extractor.get_dataframe()

# save_to_csv(filepath) 将数据帧保存为 csv 文件
extractor.save_to_csv('sp500_data.csv')


YahooFinanceInfoExtractor
-----

这个提取器类提取雅虎财经最新的股票数据和股票信息
该类可以提取的字段包括:

'Ask'、'AvgDVol'、'AskSize ', 'Bid', 'AskRealTime', 'BidRealTime', 'BookValue', 'BidSize', 'Change&Pct', 'Change',
'Commission', 'ChangeRealTime', 'AfterHourChangeRealTime', 'Dividend', 'LastTradeDate', 'TradeDate'、'EPS'、
'ErrorIndication'、'EPSE_CurrentYear'、'EPSE_NextYear'、'EPSE_NextQuarter'、'FloatShares'、'D-Low'、'D-High'、
'52W-Low'、'52W-High'、'HoldingsGainPercent'、'AnnualizedGain'、'HoldingsGain'、'HoldingsGainPercentRealTime'、
'HoldingsGainRealTime'、'MoreInfo'、'OrderBookRealTime'、'MarketCap'、'MarketCapRealTime'、'EBITDA'、
'ChangeFrom52W-Low'、'PctChangeFrom52W-Low'、'LastTradeRealTime'、'PctChangeRealTime'、'LastTradeSize'、
'ChangeFrom52W -High','PctChangeFrom52W-High','LastTradeWithTime','LastTradePrice','HighLimit',
'LowLimit','DayRange','DayRangeRealTime','50MA','200MA','ChangeFrom200MA','PctChangeFrom200MA',
'ChangeFrom50MA', 'PctChangeFrom50MA', 'Name', 'Notes', 'Open', 'PreviousClose', 'PricedPaid', 'PctChange',
'价格/销售额', 'Price/Book', 'Ex-DividendDate', 'P/E', 'DividendPayDate', 'P/E_RealTime', 'PEG',
'P/E-EstCurrentYear', 'P/E-EstNextYear', 'Symbol' , 'SharesOwned', 'ShortRatio', 'LastTradeTime', 'TradeLinks',
'TickerTrend'、'1YrTarget'、'Volume'、'HoldingsValue'、'HoldingsValueRealTime'、'52W-Range'、'DayValueChange'、
'DayValueChangeRealTime'、'StockExchange'、'Yield'

示例:

.. 代码块:: python

# import extractor class
from stock_extractor import YahooFinanceInfoExtractor

extractor = YahooFinanceInfoExtractor()

# 从 txt 文件中读取符号列表。
# extractor.set_symbol_list(symbol_list) 可以将符号列表设置为python列表
extractor.read_symbol_list_from_txt('../sample_data/sample_symbol_list.txt')

# 设置提取中包含哪些字段
extractor.set_field_list([
'Symbol', 'LastTradePrice', '
'50MA'、'200MA'、'PctChangeFrom50MA'、'PctChangeFrom200MA'、'EBITDA'、'MarketCap'、
'股息'、'收益率'、'EPS'、'P/E'、'PEG'、'价格/销售额', 'Price/Book', 'Name'
])

# 从 Yahoo Finance 提取数据
extractor.load_yahoo_data()

# 将结果保存在 csv 文件中
# 您可以调用 extractor.get_dataframe() 以将结果作为 pandas 数据帧提取器返回
。 save_to_csv('../output/sample_stock_info.csv')

YahooFinanceHistoryQuoteExtractor
-----

这个提取器为输入交易品种列表提取时间跨度的历史报价数据

示例:

.. code-block::python

#
从 stock_extractor 导入提取器类 import YahooFinanceHistoryQuoteExtractor

extractor = YahooFinanceHistoryQuoteExtractor()

# 设置提取的开始和结束日期
extractor.set_end_date('2016-01-01')
extractor.set_start_date('2015-01-01')

# 设置交易品种列表,您也可以从 txt 中设置文件,见上例
extractor.set_symbol_list(['CAT', 'SPLS', 'ETP', 'HCP', 'T'])

# 实际从雅虎财经中提取数据的方法
extractor.load_data_by_symbol_list()

# 过滤掉其他字段,在这里只留下调整价格,因为这个字段通常是人们需要的。
extractor.get_adj_price_only_dataframe()

#将结果作为熊猫数据框返回
extractor.get_dataframe()

# 将结果保存为 csv 文件
提取器。

YahooFinanceDivExtractor
-----

这个提取器从雅虎财经中提取历史股息数据。
该 api 与上一个非常相似。

示例:

.. code-block:: python

# import extractor class
from stock_extractor import YahooFinanceDivExtractor

extractor = YahooFinanceDivExtractor()
extractor.set_end_date('2016-01-01')
extractor.set_start_date('2001-01-01')
extractor.read_symbol_list_from_txt ('../sample_data/sample_symbol_list.txt')
extractor.load_data_by_symbol_list()
extractor.get_dataframe()
extractor.save_to_csv()

TEST
=====

运行这段代码

``$ python -m unittest discover``


CONTACT
=====

该包由 Zach Liu 创建。如果您有任何问题或意见,请发送电子邮件至 zachliugis@gmail.com。

许可证
=====

麻省理工学院

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

stock_extractor-0.2.tar.gz (3.8 kB 查看哈希)

已上传 source