norgate data提供的python财务数据接口
norgatedata的Python项目详细描述
项目说明
与Norgate Data提供的金融市场数据的接口。
安装
pip install norgatedata
升级
接收升级/更新
pip install norgatedata --upgrade
要求
- python 3.5或更高版本
- Microsoft Windows
- 努比或熊猫
- 主动Norgate数据订阅
- 名为.norgatedata的可写本地用户文件夹(或在环境变量norgatedata中定义)
用法
importnorgatedata
TimeSeries数据
价格
价格数据以多种格式提供:numpy recarray、numpy ndarray或pandas数据帧。这是通过format参数确定的。如果未指定,则默认为numpy recarray。
日期是通过传入下列任何(或无)命名参数来确定的:
start_date='1990-01-01'# Date is in YYYY-MM-DD formatend_date='2000-01-01'# If not specified, the end date is todaylimit=50# This provides the last X records
价格和数量调整允许您调整历史股价和数量,以考虑资本事件和股息的影响。
stock_price_adjustment_setting=norgatedata.StockPriceAdjustmentType.NONEstock_price_adjustment_setting=norgatedata.StockPriceAdjustmentType.CAPITALstock_price_adjustment_setting=norgatedata.StockPriceAdjustmentType.CAPITALSPECIALstock_price_adjustment_setting=norgatedata.StockPriceAdjustmentType.TOTALRETURN# Default, if not specified on timeseries calls
日期填充允许您重复先前没有其他价格记录的日子。
padding_setting=norgatedata.PaddingType.NONE# Default, if not specified on timeseries callspadding_setting=norgatedata.PaddingType.ALLMARKETDAYSpadding_setting=norgatedata.PaddingType.ALLWEEKDAYSpadding_setting=norgatedata.PaddingType.ALLCALENDARDAYS
示例
importnorgatedatastock_price_adjustment_setting=norgatedata.StockPriceAdjustmentType.TOTALRETURNpadding_setting=norgatedata.PaddingType.NONEsymbol='GOOG'start_date='1990-01-01'timeseriesformat='numpy-recarray'# This provides data on GOOG from 1990 until today in a NumPy recarray format, with explicitly set stock price adjustment and padding settingspricedata_recarray=norgatedata.price_timeseries(symbol,stock_price_adjustment_setting=stock_price_adjustment_setting,padding_setting=padding_setting,start_date=start_date,format=timeseriesformat)timeseriesformat='pandas-dataframe'pricedata_dataframe=norgatedata.price_timeseries(symbol,stock_price_adjustment_setting=stock_price_adjustment_setting,padding_setting=padding_setting,start_date=start_date,format=timeseriesformat)timeseriesformat='numpy-ndarray'pricedata_ndarray=norgatedata.price_timeseries(symbol,stock_price_adjustment_setting=stock_price_adjustment_setting,padding_setting=padding_setting,start_date=start_date,format=timeseriesformat)pricedata_dataframe=norgatedata.price_timeseries(symbol,stock_price_adjustment_setting=stock_price_adjustment_setting,padding_setting=padding_setting,limit=500,format=timeseriesformat)end_date='1999-12-31'pricedata_dataframe=norgatedata.price_timeseries(symbol,stock_price_adjustment_setting=stock_price_adjustment_setting,padding_setting=padding_setting,start_date=start_date,end_date=end_date,format=timeseriesformat)timeseriesformat='pandas-dataframe'assetid=129769pricedata_dataframe=norgatedata.price_timeseries(assetid,limit=500,format=timeseriesformat)
指数成分
要确定某只股票在特定日期是否是指数成分股,可以使用指数成分股timeseries函数。您也可以通过现有的 将添加并返回numpy ndarray或pandas数据帧和新列
symbol='AAPL'indexname='S&P 500'# Can also be an index symbol, such as $SPX, $RUI etc.idx=norgatedata.index_constituent_timeseries(symbol,indexname,format="numpy-recarray")idx=norgatedata.index_constituent_timeseries(symbol,indexname,padding_setting=padding_setting,start_date=start_date,limit=-1,format="numpy-ndarray")idx=norgatedata.index_constituent_timeseries(symbol,indexname,padding_setting=padding_setting,start_date=start_date,limit=-1,format="pandas-dataframe")pricedata_recarray2=norgatedata.index_constituent_timeseries(symbol,indexname,padding_setting=padding_setting,start_date=start_date,limit=-1,numpy_recarray=pricedata_recarray,format="numpy-recarray")
主要交易所上市
“主要交易所上市的时间序列”
majexch=norgatedata.major_exchange_listed_timeseries(symbol,format="numpy-recarray")
注:数据仅适用于2000年以后的本项目。
资本事件
“资本事件时间序列”
capevent=norgatedata.capital_event_timeseries(symbol,format="numpy-recarray")
股息率
“股息收益率时间序列”
divyield=norgatedata.dividend_yield_timeseries(symbol,format="numpy-recarray")
填充状态
'填充状态时间序列'
paddingstatus=norgatedata.padding_status_timeseries(symbol,format="numpy-recarray")
未调整关闭
'未调整的关闭时间序列'
这通常不需要,因为price timeseries中提供了未经调整的close。
这里提供它作为其他pyton库的助手例程,比如
作为齐普林·诺盖特数据公司。
unadjclose=norgatedata.unadjusted_close_timeseries(symbol,format="numpy-recarray")
观察列表
监视列表的符号可以使用监视列表符号函数检索到python列表中
watchlistname='S&P 500'symbols=norgatedata.watchlist_symbols(watchlistname)watchlistname='Russell 3000 Current & Past'symbols=norgatedata.watchlist_symbols(watchlistname)
如果需要每个安全性的符号、assetid和名称,请使用watchlist函数
wlcontents=norgatedata.watchlist(watchlistname)
要检索Norgate Data监视列表库中所有监视列表的名称,请使用监视列表功能
allwatchlistnames=norgatedata.watchlists()
安全元数据
symbol='AMZN'assetid=norgatedata.assetid(symbol)
assetid=129769symbol=norgatedata.assetid(symbol)
base_type=norgatedata.base_type(symbol)
dopmcile=norgatedata.domicile(symbol)
currency=norgatedata.currency(symbol)
exchange_name=norgatedata.exchange_name(symbol)
exchange_name_full=norgatedata.exchange_name_full(symbol)
security_name=norgatedata.security_name(symbol)
subtype1=norgatedata.subtype1(symbol)
subtype2=norgatedata.subtype2(symbol)
subtype3=norgatedata.subtype3(symbol)
financial_summary=norgatedata.financial_summary(symbol)
business_summary=norgatedata.business_summary(symbol)
last_quoted_date=norgatedata.last_quoted_date(symbol)
second_last_quoted_date=norgatedata.second_last_quoted_date(symbol)
期货元数据
symbol='CL-2017X'lowest_ever_tick_size=norgatedata.lowest_ever_tick_size(symbol)
margin=norgatedata.margin(symbol)
point_value=norgatedata.point_value(symbol)
tick_size=norgatedata.tick_size(symbol)
first_notice_date=norgatedata.first_notice_date(symbol)
基本数据
fieldname='mktcap'fieldname='ttmepsxlcx'fieldname='peexclxor'fieldname='projepsq'field=norgatedata.fundamental(symbol,fieldname)
分类
schemename='NorgateFuturesClassification'schemename='TRBC'schemename='GICS'classificationresulttype='ClassificationId'classificationresulttype='Name'classification=norgatedata.classification(symbol,schemename,classificationresulttype)
schemename='TRBC'schemename='GICS'classificationresulttype='ClassificationId'classificationresulttype='Name'level=1level=4classificationatlevel=norgatedata.classification(symbol,schemename,classificationresulttype,level)
indexfamilycode='$SPX'indexfamilycode='$SP1500'level=3indexreturntype='PR'indexreturntype='TR'indexsymbol=norgatedata.corresponding_industry_index(symbol,indexfamilycode,level,indexreturntype):
其他信息功能
norgatedata.last_database_update_时间 norgatedata.last_price_update_time
用assetid而不是symbol访问数据
不用使用安全标志,您可以获得其唯一的norgate提供的名为assetid的标识。这是一个不变的问题。
引用'symbol'上面的所有调用也可以采用assetid。例如,msft=assettid 134016。AMZN=资产编号129769。