経済指標の取得その1

経済指標の取得

行う処理は

カレンダーの予想時刻と
現在時刻

つまり date time が一緒になったら
Event で検索

とりあえず event 内容をリストに入れる

あと
Date time も格納する

Datetime に関しては
文字列から datetime に変換する

まずはリストにする

value.tolist()

でリスト変換可能

events = economic_data["event"]

economic_event = events.values.tolist()

#events=events[0]

print(economic_event[0])

economic_events="Chinese Industrial profit YTD  (Feb)"

test_event = economic_event[3]

print(test_event)

print(economic_events)

economic_event

これで

economic_event

へリストで格納できる

これを

economic_data[economic_data['event'].str.contains(economic_event[4])]

というようにすれば検索できるが

Chinese Industrial profit YTD  (Feb)

Investing.com GBP/USD Index

Chinese Industrial profit YTD  (Feb)

Out[78]:

['Chinese Industrial profit YTD  (Feb)',

'Finnish Consumer Confidence  (Mar)',

'Finnish Industrial Confidence  (Mar)',

'Investing.com GBP/USD Index',

'Investing.com Gold Index',

'Investing.com S&P 500 Index',

'Investing.com USD/CAD Index',

'Investing.com USD/CHF Index',

'Investing.com AUD/USD Index',

'Investing.com USD/JPY Index',

'Investing.com NZD/USD Index',

'Investing.com EUR/USD Index',

'Trade Balance  (Feb)',

'Credit Indicator (YoY)  (Feb)',

'Core Retail Sales (MoM)  (Feb)',

'Lithuania Retail Sales (MoM)',

'Lithuania Retail Sales (YoY)',

'Gross Wages (YoY)  (Jan)',

'Exports (MoM)  (Feb)',

'Imports (MoM)  (Feb)',

'Trade Balance',

'Irish Retail Sales (MoM)  (Feb)',

'Irish Retail Sales (YoY)  (Feb)',

'BoE Gov Bailey Speaks',

'Quarterly Unemployment Rate',

'M3 Money Supply (YoY)  (Dec)',

'Private Sector Loans (YoY)  (Dec)',

'BCB Focus Market Readout',

'Greek Credit Expansion (YoY)',

'Trade Balance  (Feb)',

'Trade Balance (USD)  (Feb)',

'GDP (YoY)',

'GDP Quarterly',

'Goods Trade Balance  (Feb)',

'Retail Inventories Ex Auto  (Feb)',

'Wholesale Inventories (MoM)',

'Current Account (USD)  (Feb)',

'Foreign direct investment (USD)  (Feb)',

'French 12-Month BTF Auction',

'French 3-Month BTF Auction',

'French 6-Month BTF Auction',

'Dallas Fed Mfg Business Index  (Mar)']

の中で

Chinese Industrial profit YTD  (Feb)

というように
(Feb)
があるとエラーになる

他の指標も試したけど
()があるものは全てエラーになる

この場合エスケープさせるか
(以降は削除するしかない

Macのキーボードの「Option」と
右上にある「¥マーク」を同時に押しすると
入力ソースが英数であろうと、
ひらがなであろうと
半角のバックスラッシュ(「\」)が入力される

Option + ¥

でバックスラッシュの\\ 2つで
エスケープできるので

economic_data[economic_data['event'].str.contains("Exports \\(MoM\\) ")]

としたらエラーがなくなった

つまりリストの中で()のある部分をエスケープしないとだめ

これは
Replace でできるので

economic_event.replace('(','\\(')

としたけど

すでにリストにしてしまうとだめ

events = economic_data["event"].str.replace('(','\(').str.replace(')','\)')

events

とすれば

/var/folders/db/tkl5w9dd3kn3h53ctyl4s6180000gn/T/ipykernel_8436/2811222662.py:4: FutureWarning: The default value of regex will change from True to False in a future version. In addition, single character regular expressions will *not* be treated as literal strings when regex=True.

  events = economic_data["event"].str.replace('(','\(').str.replace(')','\)')

とエラーは出るけど変換はできる

あとは

economic_event = events.values.tolist()

#events=events[0]

print(economic_event[0])

economic_events="Chinese Industrial profit YTD  (Feb)"

test_event = economic_event[3]

print(test_event)

print(economic_events)

print(economic_event)

でリストにできるので

economic_data[economic_data['event'].str.contains(economic_event[4])]

とすれば検索条件に当てはめることも可能

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です