通用股票数据提取器
项目描述
*****
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
*****
这个包包括一系列股票数据提取器类,来自一些广泛使用的来源,例如 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 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 0d5a890603e170570c207c927ec54f343a3833cca01ece9f95b9d11852539492 |
|
| MD5 | beb179b7f26d00f6886d6d084d1e1772 |
|
| 布莱克2-256 | 0f3b695a93bd50b1cc98d70ef8d2df97d46e1423e22a1404baba0920484f861d |