2023年の夏から秋にかけて、ロト予想系のリポを2つ作った。当てたいというより、過去データで遊びたかったのが本音。loto6-predict(Python)と any-loto(TypeScript)。
loto6-predict(7月)
まずは Python でデータ取得と分析から。みずほ銀行側の過去当選番号をダウンロードするスクリプトを書いた。
python download_loto6.py # 過去当選番号を取得
download_loto6.py / download_mini.py / download_bingo5.py でロト6・ミニロト・ビンゴ5 のデータを落として、予想側は何パターンか試した。
predict_loto6_linear_regression.py— 線形回帰でとりあえずpredict_loto6_hmm.py— 隠れマルコフモデル(HMM)も試したpredict_loto6_all.py— まとめて回す用
当然これで当たるわけはないんだけど、「ランダムな系列に無理やりモデルを当てるとどう振る舞うか」を見るのが面白かった。Docker / docker-compose も足して、データ更新を回しやすくしておいた。
any-loto(10〜11月)
Python で出した数字を、Web で触れるようにしたかった。any-loto は Remix + Cloudflare(wrangler.toml)+ Supabase 構成。
app/lib/supabase.tsで Supabase にデータ投入app/lib/bingo5.tsに生成ロジックNumberTable.tsxで数字を表示- 「角固定」とランダム生成を切り替え
コミットも supabaseでデータ入れるところまで → 角固定、ランダム → bun と、手探りで進めていた跡が残っている。
おわり
分析(Python)と UI(TypeScript)を別リポに分けたけど、データの受け渡しが面倒だったので、後で1つに寄せたくなった。この「計画的娯楽」シリーズは、2025年の loto-optimizer で TypeScript に統合して一区切りになる。第1章はこのへん。