1
でループからのデータフレームを作成します。私は会社ティッカーのリストを持っているブルームバーグ機能
df = {'Ticker': ['AVON LN EQUITY', 'GFS LN EQUITY'], 'Value': [1., 2.]}
df = pd.DataFrame(df)
私はすべての、私はデータフレームを取得したいと思い、これを使用して、https://github.com/alex314159/blpapiwrapper
をBLPAPIラッパーを使用しています月額ベースでの価格。このため私はBLPクラスとBDH関数を使用しています。下記の設定(長いバージョンがリンクしている):私は1社の株式のためのデータフレームを取得することができ、これらを使用して
def bloom_func(x, func):
bloomberg = BLP()
return bloomberg.bdh(x, func, strOverrideField='BEST_FPERIOD_OVERRIDE', strOverrideValue='1GY')
bloomberg.closeSession()
:単純化のため
def bdh(self, strSecurity='SPX Index', strData='PX_LAST', startdate=datetime.date(2013, 1, 1), enddate=datetime.date(2016, 9, 6),
adjustmentSplit=False, periodicity='MONTHLY', strOverrideField='', strOverrideValue=''):
私はミニの関数を作成しました。
Price = bloom_func('VOD LN EQUITY', 'PX_LAST')
print (c)
私が使用して2社間でこれを実行しようとすると
はしかし、:
df1 = pd.concat([df.apply(lambda x: bloom_func(x)) for p in df['Ticker']])
私はValueErrorをを得る:渡された値の形状は(2、0)、インデックスは(2、2)を意味するものではされています。
を考えていたよりも単純ました([] 'ティッカー' [DF。(bloom_func)を適用します])' – jezrael