オッサンとバイエル、ピアノ等コンテンツへスキップオッサンとバイエル、ピアノ等オッサンは生きている。JST自宅で10年以上の間、株式の売買シミュレーションシステムを運用してきた。Linux上で作動する。以前、このブログでも少し書いたことがあるが、これで多少儲けても来ている。このシステムは、株価をネットからダウンロードするプログラムをPerlで、これを格納するRDBはPostgreSQL、シミュレーションはCで、ユーザインタフェースはPHPで、というハイブリッド(笑)なつくりである。2年ほど前からだったろうか、株価をネットからダウンロードするプログラムがうまく動かなくなってしまっていた。株価は「Yahoo!ファイナンス」の時系列データから無料で頂戴してくるのだが、これはデータではサービスされておらず、htmlの中から特徴的なタグに正規表現でマッチングさせて株価を取り出してくる仕組みになっていた。うまく動かなくなっていたのは、さしずめYahoo!ファイナンスの仕様が変わり、htmlのフォーマットなどが変わったのだろう、と思っていた。実際、正規表現でマッチングさせて目的のデータを切り出すコードになっているから、わずかでもhtmlが変わると、途端に消化不良を起こすのである。原因究明や修理が面倒で、また、しばらく株式も値動きがあまりなくて面白くなかったから売買もしておらず、シミュレーションシステムも放りっぱなしになってしまっていた。そんな折も折、ここへきて、新型コロナウイルス蔓延により外出の自粛が推奨される事態となった。ために、やむなく家に垂れこめている。平日は仕事に勤(いそ)しんでいるからあまり暇はないが、休日などはどうしても無聊(ぶりょう)となる。そこで、意を決して上述のシステムを修理することにした。Yahoo!ファイナンスの仕様、就中(なかんづく)htmlのフォーマットを分析すれば、すぐに修理できるだろうと思っていた。ところが、その推量は全然違っていた。株価ダウンロードプログラムは、htmlをダウンロードするのに、CPANの「LWP」ライブラリ等は使わず、Perl内から「wget」を呼び出して使っていた。しないとSSLの部分が面倒だからだ。問題は、このSSL部分にあった。Yahoo!全体の仕様が、TLS1.2未満のSSLを拒絶するよう変更されていたのだ。9は、OpenSSL0.9.8までしか対応しておらず、そしてOpenSSL0.9.8はTLS1.0までしか対応していない。そこまで確かめて、やっと思い出した。私のシステムが動かなくなった2年ほど前というと、ちょうどSSLのセキュリティホールやSHA-1アルゴリズムの危殆(きたい)化などが取り沙汰され、あちこちのサイトやブラウザがどんどんバージョンアップされて行っていたのだ。私はその頃、仕事が非常に忙しく、自宅のPC環境など顧(かえり)みている暇がなかった。それで、他人事のようにそれらのニュースに接していたのである。原因は、wgetとOpenSSLが古い、ひいてはプラットフォームOSが古いことにあった。Dのような32ビットCPUには対応していないから、もう、古いLinuxマシンはそろそろお払い箱だろう。4GHzにメモリは32GBをブチ込み、ストレージは1TBのHDDから、先日2TBのSSDに換装したところだ。ここはもう、仮想化しかあるまい。Playerをダウンロードしてインストール。非営利であれば無料である。31のisoイメージを本家サイトから貰ってきてインストールする。動かしてみてびっくりした。V育ちの者にとって、Linuxの「init」システムは長年慣れ親しんだシステムなのだが、Apache2を動かそうと/etc/rc.d/init.d/の下を覗いてビックリ仰天!何も入っていなくて、空っぽではないか!(笑)こ、これは......!とGoogle先生にお尋ね申し上げ、今は「init」は否定の憂き目にあい、「systemd」というものに置き換わっているということを知る。「systemctl」というサービス・コマンドの操作を調べ、これでhttpdを動かす。PostgreSQL、PHP、wgetなど必要なものをyum改め、「dnf」で次々とブチ込む。それから徐(おもむ)ろに株価ダウンロードシステムを動かす。......まったく何の支障もなく、プログラムの変更もなく作動するようになった。phpで作られたユーザインタフェースについては、POSTやGETの引数を直接グローバル変数として扱うことのできるかつてのPHPの仕様が廃止されてしまっており、そのままでは動かなくなってしまっていたが、そこは彌縫(びほう)的にパッチ当てをした。SELinuxを調整しないとPostgreSQLとPHPが協調動作しないなど、多少ひっかかったところもあったが、元の通り株価売買シミュレーションシステムは作動するようになった。書いたシミュレーション部分は、目を見張るような素晴らしいスピードでカッ飛んでいく。このシステムでは、過去5年分の株価データに対し、8900通り×49銘柄の売買シミュレーションを行っていた。Yahoo!ファイナンスに株価の整理値が出揃う20時50分頃から「cron」でこのシステムを起動していたのだが、これだけの組み合わせのシミュレーションを行うと、全部終わるのは23時くらいにはなってしまっていた。ところが今回の移設で、それらシミュレーションがなんと10分ほどで完了するようになった。誰かが言っていたが、「稚拙で鈍足なアルゴリズムでも、意外にマシンパワーの進歩で解決されてしまう」ということの実例を目の当たりにした次第である。そのようにしてシミュレーション結果を見てみると、やはり、新型コロナウイルスの影響で、相場は鉄火場と化している。大変な勢いで売買指標が出ている。今この鉄火場に飛び込むのは危険である。ウイルス禍が一段落し、上昇相場になったところからが勝負だろう。「昭和の日」が、畏し、聖帝・昭和天皇の天長節、すなわち天皇誕生日であることは論を待たぬ。令和の御代となってから初めての昭和の日だ。