以下のような日経225先物データの5分足データtest.csvをチャートソフトで利用しようとしています。
YMD,HHMM,始値,高値,安値,終値,出来高 2021/7/28,3:45,27525,27545,27525,27540,188 2021/7/29,12:35,27760,27775,27755,27760,379 2021/7/30,23:05,27905,27905,27885,27905,189 ...
ただ、日付'YMD'については、以下の取引所のルールにより記録されています。
①平日8時45分から15時15分までの日中取引については、通常の日付
②日中取引終了後の16時15分から翌日6時終了時刻までの夜間取引については翌営業日付(祝日が入らなければ、月-木は火-金、金は翌週月の日付となっている)
日付を通常の日付に変換するため、時間'HHMM'によりデータを平日取引、夜間取引①(夜間取引開始から午前0時まで)、夜間取引②(午前0時から夜間取引終了まで)の3種類に分類する必要があります。
日付変換のロジックはひとまず置いておいて、この分類が正しくできるか確かめるため以下のコードを作成しました。
import csv I=open(r'C:\...\test.csv', encoding='utf8') reader = csv.reader(I) header = next(csv.reader(I)) for row in reader: if '08:45:00' <= row[1] and row[1] <= '15:15:00' : msg='日中取引' msg=msg+row[1] print(msg) #YMD変換なし elif '16:15:00' <= row[1] : msg='夜間取引①' msg=msg+row[1] print(msg) #YMDを前営業日に変換する処理を追加 else: msg='夜間取引②' msg=msg+row[1] print(msg) #YMDを前営業日+1に変換する処理を追加
正しくは、
夜間取引②3:45
日中取引12:35
夜間取引①23:05
と出力されるべきところ、
夜間取引①3:45
日中取引12:35
夜間取引①23:05
と1,3件目のデータが2個目の条件式に適合したこととなっています。
文字列の時間を条件式に使用することはできないのでしょうか?
宜しくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/12 21:18