新聞の軍事に関する記事などで、データの出典元として、かつてはよく「シプリ年鑑」などとともに「ジェーン海軍年鑑」という書名が記載されていたのをご記憶の方も多いと思う。
実は、「ジェーン海軍年鑑」という書名の本は、ない。図書館へ行ってこの書名のとおりで探しても、出てはこない。そもそも、この本は図書館にはない。
英国ジェーンズ社の
オッサンは生きている。
新聞の軍事に関する記事などで、データの出典元として、かつてはよく「シプリ年鑑」などとともに「ジェーン海軍年鑑」という書名が記載されていたのをご記憶の方も多いと思う。
実は、「ジェーン海軍年鑑」という書名の本は、ない。図書館へ行ってこの書名のとおりで探しても、出てはこない。そもそも、この本は図書館にはない。
英国ジェーンズ社の
WordPressのプラグイン「Simple Tags」を愛用している。記事に含まれるキー・ワードで自動的にタグをつけることも可能だ。しかし、いつもいつもこの「自動タグ機能」を使いたいわけでもない。なので、ほとんどの場合、記事を新規作成した時の「□ Disable auto tags ?」のチェックボックスを「☑」(チェック)にして、機能をオフにする。ところが、これが毎回毎回なのが気に食わない。この機能のデフォルトが「非checked」だからだ。実に面倒である。
そこで、プラグイン・エディタで該当部分を書き直してしまうことにした。
プラグイン内を片っ端から検索してみたところ、「simple-tags/inc/class.admin.post.php」がその部分を生成していることが分かった。
その中に、
// Auto terms for this CPT ? if ( (int) SimpleTags_Plugin::get_option_value( 'active_autotags' ) === 1 && isset( $auto_options[ $post->post_type ] ) && ! empty( $auto_options[ $post->post_type ] ) ) { $meta_value = get_post_meta( $post->ID, '_exclude_autotags', true ); echo '<p>' . "\n"; echo '<label><input type="checkbox" name="exclude_autotags" value="true" ' . checked( $meta_value, true, false ) . ' /> ' . __( 'Disable auto tags ?', 'simpletags' ) . '</label><br />' . "\n"; echo '</p>' . "\n"; echo '<input type="hidden" name="_meta_autotags" value="true" />'; }
……という箇所があるのだが、これを
// Auto terms for this CPT ? if ( (int) SimpleTags_Plugin::get_option_value( 'active_autotags' ) === 1 && isset( $auto_options[ $post->post_type ] ) && ! empty( $auto_options[ $post->post_type ] ) ) { $meta_value = get_post_meta( $post->ID, '_exclude_autotags', true ); echo '<p>' . "\n"; // echo '<label><input type="checkbox" name="exclude_autotags" value="true" ' . checked( $meta_value, true, false ) . ' /> ' . __( 'Disable auto tags ?', 'simpletags' ) . '</label><br />' . "\n"; echo '<label><input type="checkbox" name="exclude_autotags" value="true" checked="checked" ' . checked( $meta_value, true, false ) . ' /> ' . __( 'Disable auto tags ?', 'simpletags' ) . '</label><br />' . "\n"; echo '</p>' . "\n"; echo '<input type="hidden" name="_meta_autotags" value="true" />'; }
……と、下線赤字のように書き足したわけである。さて、うまく作動するかな?……。
来週の「さえずり季題」の出題当番が回ってきた。いつものように、俳人の青山酔鳴氏がまとめて下さっている「Tumblr」のさえずり派ブログを開こうとしたら、アカウントがなければ開けなくなってしまっている。
あら……。
ネットを「Tumblr」で検索してみると、「Tumblr 代替」などというキーワードがリコメンドされてくる。はて……。
旧臘、どうもTumblrの運営方針が変わり、こういうことになってしまったらしい。多くの人は代替を探してどこかへさまよい出てしまったようだ。
私はTumblrを主ウェブ発言域にする気はないので、適当なアカウントを一つ作る。あまりWebアカウントを増やしたくないのが本音だが、まあ、いいか、というところである。
Jetpackのパブリサイズ共有を使用して、WordPressからTumblrにクロスポストするようにした。
このブログはGoogleのIndexに登録されるようにしてある。
このブログで導入しているプラグイン「Jetpack」の「トラフィック」の設定から、他にも、Bing、Pinterest、Yandex が使えることを知った。
早速それぞれの認証をとり、追加してみた。
平成18年頃からブログに読書記録を付けていた。使っていたブログサービス(OCNの『ブログ人』)が提供していたリスト化機能を使ったものだった。いつだったか、その機能のサービスが終了してしまうことになった。末端の一ユーザからは是非など言うべくもない。
そのため、折角つけた記録が無くなってしまうことになってしまった。記録は100や200くらいはあったので、 “特に
15年ほど前、自宅を建築した際にその記録をHTMLで書き、OCNのホームページサービス「Page ON」を使用して公開した。
日々の変化事項などは、その中に日誌風に書き加えていたが、そうするうち、当時流行しだした「ブログ」サービスをOCNもやりはじめた。「ブログ人」だ。Movable Type ~ TypePadを活用したサービスだった。
当時はいろいろ面白い試みもなされており、無料だったので私もそれを使うようになった。「Web2.0」などと言うことが当時言われており、スタティックで一方向だったWebが、ブログのトラックバックPingシステムにより双方向リンクを持てるようになったことが、私にとっても目新しかった。
10年以上「ブログ人」を使っていたが、3年前、Page ONとともにサービスが終了してしまった。
サービスが終了する前に、見たままを残しておこうと思い、wgetで丸ごとスナップショットをとった。
その後、一時Gooブログなどにも移行してみたが、自由でないのが気に入らず、思ったように書けないのが不便なので、意を決してドメインを立て、レンタルサーバを借り、WordPressに移行した。それがこのブログだ。
一方、レンタルサーバの容量には余裕があったので、wgetで丸ごとコピーした古い方のブログもそこに丸ごと放り込み、ずっと公開していた。
しかし、記事そのものはこのブログにもインポートしており、並立の状態にあった。
無駄だな、とも思ったので、意を決して古いブログのバックアップの公開はやめることにした。
もう10年以上くらいにもなるだろうか、株式売買の指標表示を自動化し、「小魚を釣る」ようにして株を売買している。ところが、先週頃から、その自動化システムが動かなくなってしまった。
私の株式売買は、夜に自作の株式売買シミュレータを作動させ、そのシミュレーション結果に従って手動で翌日の注文を出すという方法だ。注文そのものの自動化もやればできるだろうが、証券会社がAPIを公開してでもくれない限り、多少技術的な敷居が高いので、そこまではしていない。
株式売買にはいろいろな指標があるが、その指標を使うのに必要な日数などのパラメータは、銘柄ごとに違う。また、指標ごとにも違うので、色々な組み合わせが出てくる。サラリーマンの場合、何十もの銘柄について、銘柄ごとに手作業でそんな組み合わせ作業を毎日している時間など、あるはずがない。
そこで、色々なパラメータを組み合わせて、過去のデータを使って売買のシミュレーションを行うのだ。トレーディング用語では「バックテスト」と言う。私のシミュレータでは、現在は1銘柄につき約1万通り程度の組み合わせで売買を試す。
そのシミュレーション結果で、「90%~100%成功するパラメータの組み合わせ」を抽出して表示するのである。実際のところ、そのパラメータの組み合わせで売買サインが出た時に売買すれば、まず9割は儲かる。1割の確率で損をするのだが、これは10銘柄を束にして注文しておけば、「1銘柄はハズレでも、残り9銘柄は当たり」になる。つまり、期待値として「9割は儲かる」理屈になるわけである。
だが、私が最も工夫した点は実はそこではない。
私は勤めており、職務に専念する義務がある。これはサラリーマンなら誰でも同じだと思う。仕事中に株式の売買などすれば、免職になってしまう。そこで、このシミュレーションは、売買サインをリアルタイムの株価で出すのではなく、「前日までの株価でシミュレーションし、翌日約定の注文を出した場合で最適なパラメータの組み合わせ」をシミュレーションにより求める。こうすることで、「前日の夜から当日の朝にかけて、自宅で注文しておく」ことができる。つまり、「サラリーマンが職務外の余暇に自宅で自分の金融資産の管理をしているだけ」という形を整えることができるのだ。
多くのサラリーマンは株で損をするが、それは、株式の必勝本などには、「今の株価」で売買しなければならないような方法しか書かれていないからだ。これだと、例えば、ある日の経済ニュースなどでその日の株価について知り、夜帰宅して、翌日の注文などを出しても、もう手遅れなのだ。だが、私のシミュレータは翌日の注文で十分なように計算するので、サラリーマン向けなのだ。
シミュレーションに必要な日々の時系列データは、「Yahoo!ファイナンス」から無料で拝借してくる仕組みである。夜にその日の終値が確定した頃、自動的に株価をダウンロードしてくる。無料で済ませるため、生のhtmlを持ってきて株価データをその中から切り取り、データベースに格納する仕組みだ。
システムはLinux上で動作する3層クライアントサーバシステムである。ユーザインターフェイスはphpで書かれており、Webサービスだ。株価データは、Perlで書かれたスクリプトを定期起動して、前述のようにしてネットから無料で持って来る。データベースはPostgreSQLを使用している。シミュレーションは高速化を図るためCで書いてある。
ここ数年、何ら不調なく快調に作動していた。ところが、先週から急に動かなくなってしまった。
短期の株式売買は毎日の値動きに注意していなければならない。私はこの値段の監視を自動化していたわけだ。ところがこれが動かなくなるとお手上げだ。自分で毎日株価を見なければならなくなってしまう。私もそれなりに忙しいので、何十銘柄もの株価チェックを自分でするなんて馬鹿々々しいことは御免である。
早く原因を調べなければならなかったが、春の人事異動で職場が変わったりして、手が付けられないでいた。ようやく、今日になって原因を調べることができた。
調べてみると、どうやら、株価データの拝借先である「Yahoo!ファイナンス」の仕様が変わったようだ。これまで非SSLでもサービスしていたのだが、先週頃完全にSSLに改まったらしい。他方、私の「株価データ拝借スクリプト」はPerlで書いてあり、内部で「wget」を呼び出し、これを用いて「時系列株価ページ」を持って来て、その中からデータを切り出す仕組みなのだが、ハードコーディングしてあるURLのスキームは「http」なのである。
なるほどよしきた、とばかり、これを「https」に変えて試したが、wgetはブラウザのように簡単にはSSL証明書を扱うことができない。
ググッてみると、「そういう時にはwgetのオプションに『––no-check-certificate』って書いとけ!」と、どなたかが既に調べて書いておられる。ありがたや。
そこで、作動させるwgetのコマンドラインは次のようになるわけだ。
$ wget --no-check-certificate -q -O - https://info.finance.yahoo.co.jp/history/?sy=1983&sm=1&sd=1&tm=d&code=銘柄コード&p=1 | nkf -w
URLのスキーム部分を「https」にし、「––no-check-certificate」にするだけである。
株価時系列データのページの作りが変わってしまっているとこれだけでは駄目なのだが、どうやらページの作りは同じらしく、今のところうまく行っているようだ。