日差しが眩しい時間帯は じっとしていても汗が体を伝う季節が訪れた。
一方で、時として吹く空気の冷たさが肌を刺してくる。
一年中真っ黒な長袖のを着ている僕には、その風が衣類の織りめから千本の鋭い切っ先となって肌につき刺さるほどに感じてしまう。
しかし来たるべき「オーブンのような夏」に備えて冷却装置を早めに購入しなければ値上がりしてしまう。
昨年なんて40度だよ、40度。
一人でいるより女の子と抱き合ってた方が涼しいくらいだわ。何年もご無沙汰だけどさ。
今年はファンのついてない「首掛け扇風機 ネッククーラー」が主流で、価格帯は2,000円~1万円。
僕にとって2,000円は生活を左右する金額にも匹敵するので、とにかく安い商品を探した。
1,600円?
まだ高い。
で、一日中かけてとうとう見つけた。
500円(送料無料)
ちょww大丈夫かよこれ?
本日4:00に発売したばっかりだし、この販売会社(中国)の商品これだけだよww
更に他が「3000mAh」前後なのに「9000mAh」とかネタだろww
と心の中で思ったが、発売30分後の商品をポチってしまった……。
商品が届かなかったり、糞のような商品が届いたら笑ってくれ。
ここ数年間はテレビやゲーム、ニュースすらほとんど読んでない。
自分より10倍以上稼いでいる芸能人の顔とかゴシップとか見たくないしね。
嫉妬心しか生まれないわ。
で通勤中の電車の中で何しているかというと、日記を書いたりパソコン開いて実装してる。
逆を言えば、電車に乗らない時は何もやる気がおきない。
つまりゴールデンウィークに入って何もやってない。
これ、アーリーリタイアしても何もしない駄目人間になる兆候だ。
何もしてないが、今日のような平日休みにシステムトレードのバックテストが走って営業日に売買できない問題が発生したので簡単に対策しておく。
平日のみシステムトレードのバックテストを実施する
システムトレードを自動実行・自動売買させるに辺り一つの問題を見つけた。
今日のような月曜日が休みの場合、
月曜日にバックテストが実施される
↓
(連休明け)に購入すべき銘柄候補が出る
↓
連休明けに再度バックテストが実施される
↓
既にバックテスト完了しているので、「正常に終了しました。」と表示されて終了
となってしまい、せっかくのシグナルが出ていても購入できなくなるProtraの仕様が存在する。
休みの間に「成行注文」「指値注文」すれば良いと思うかもしれないが、当日にSBI証券にログインして値段を自動チェックして成行注文するシステムにしようと思ってる。
Pythonライブラリ「jpholiday」で平日判定を行う
カレンダーCGIなどでは毎年自分で祝日判定スクリプトを実装しているが面倒くさい。
ここはPythonのライブラリを使って対策をしておこう。
ProtraはWindowsソフトなので、BATからPythonスクリプトを呼び出し祝日判定を行い、祝日であればバックテストを実施しない。
実装は次のようになる。
【sample.py】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import sys from datetime import datetime import jpholiday # 指定した日が平日ならTrue、土日祝日ならFalseを返す関数 def isWeekDays(DATE): Date = datetime(int(DATE[0:4]), int(DATE[4:6]), int(DATE[6:8])) if Date.weekday() >= 5 or jpholiday.is_holiday(Date): return 0 else: return 1 if __name__ == "__main__": weekdays = isWeekDays(datetime.today().strftime("%Y%m%d")) if weekdays: sys.exit(1) else: sys.exit(0) |
【print.bat】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
@echo off python sample.py SET RESULT=%ERRORLEVEL% IF %RESULT% == 1 ( REM 平日 call %1 ) else ( REM 土日祝日 ) REM 実行結果 REM 1 |
【call.bat】
1 2 3 4 5 6 |
@echo off Echo hoge REM 実行結果 REM 1 |
実行方法は次のように「自動処理を行いたいBATファイル」を第一引数に与える。
1 |
% print.bat call.bat |
引数に与えたBATファイルも実行できたし、Pythonの戻り値も正しく受け取って処理をしているようだ。
なので「call.bat」に処理したい内容(Protra実行、SBI証券へのログイン等)を書けば、今まで通り実行される。
偉いもんだなぁ。
まとめ
何もやる気がないので凄く簡単な対応だ。この実装すら連休直前に作ったものだけどね。
一番の心配は「jpholiday」って今後もずっとメンテナンスする予定あるのかな……。使っている人が多そうだけど。
毎年アップデートしないと祝日のアップデートに困りそうだ。