Linux が好きで、自宅のメイン PC の OS はずっと Fedora Linux です。パソコンのハードウェア、ソフトウェア共に高機能になり、OS については Windows、macOS 以外の話題を耳にすることがすっかり少なくなってしまいました。今さら Linux を推奨したいわけではないのですが、それでも Linux 好きの言い分みたいなことをまとめたいと思い、つらつらと書き残しています。
今回は初回なので近況紹介です。😁
脱サラしてトレーダーに
私は半導体工場のエンジニアとして大学卒業後のキャリアをスタートして以来、転職を繰り返しながらもずっと半導体業界に身を置いてきました。
しかし SBI 証券と楽天証券が国内株取引の約定手数料の無料化に踏みきったのを知り [1]、意を決して会社を退職、投資の世界に飛び込みました。あと 1 年ぐらい勤め続ければ 60 歳定年を迎える予定でした。しかし、作ってみたかったデイトレの自動売買システム開発に取り組めるまたとないチャンスが到来したと感じ、今始めなければ必ずや後悔すると思ったのでした。
まあ、そんなにすぐに自動売買システムは完成しないことは重々承知の上、トレーディングをしながら自分が作りたいシステムを好きなようにプログラミングできることを楽しんでいる毎日です。
Windows でなければできないこと
自分のためにトレーディング・システムを作るのだから、これで好きな Linux にどっぷり浸ることができると期待していたのですが…、そんな期待は甘かったのでした。
取引ツール
証券会社が提供している取引ツールは Windows 上で動作します。どうしても Windows を使わなければならない事態に備えて Linux 化しなかった廉価なノート PC [2] に件の取引ツールをインストールしました。使ってみたところ、多機能で大変使いやすいツールだったので感動しました [3]。廉価で買った古い PC 上ですが、問題なく動作しているようです。
この取引ツールは、起動時に最新バージョンを確認して勝手にアップグレードしてしまう優れものです。歴史的に Windows のパッケージ管理機能がイマイチだった結果、アプリがセルフ・アップデートできるように進化したのだろうと感じました。
Microsoft Excel
Windows 上で動作する取引ツールは使いやすいのですが、自動取引についてはインターネットブラウザ (Firefox) で証券会社のサイトにログインして Python / Selenium のアプリで処理を自動化する方針でした。そうすれば Linux 上で開発して運用できると考えたからです。
Python / Selenium でマウスでクリックしたり入力したりする部分の自動化は難なく実現できましたが、デイトレ用に 1 秒間隔で常に株価データをブラウザ上から読み取っているため、複数銘柄への柔軟な対応および安定動作を確保するという課題がすぐに顕在化してしまいました。
この課題解消には時間がかかると考え、ひとまず方針変更をしました。つまり、株価取得および取引のために、証券会社が提供している取引ツールに付随する Excel アドインの機能を利用することにしたのです。
職場で使っていた Excel ですが、個人で購入したことはありませんでした。アマゾンで Excel 2024 永続版 [4] を購入して、アドインの機能を利用するために VBA でアプリの開発を始めました。
2 台目の Windows PC
今更ながら VBA のプログラミングに取り組み、リアルタイム(1 秒間隔)でターゲット銘柄(複数)の株価データを取得できるアプリを作り始めました。ところが、リアルタイムで株価データを収集している VBA アプリに修正などの変更を加えたければ、一旦アプリを止めなければなりません。止めてしまうと、その日の株価データに欠損値が出て、後でシミュレータで評価するのに支障が出ます。一方、ひとつの Excel で複数の VBA アプリを動かすことはできません。
日々、欠損の無いリアルタイムの株価データを収集したいので、開発環境としてもう一台 Windows PC を用意する必要が出てきました。幸い、購入した Excel のライセンスは 2 台分ありました。
現状、ディスプレイ 2 台と Windows ノート PC 本体の画面、ときどき Android タブレット画面を見ながらのトレーディングで、ディスプレイの追加は設置場所に困りました。そこで、追加する Windows PC は Windows 11 Pro を搭載したミニ PC を買うことにして [5]、メインの Linux マシンから Remmina [6] でリモート接続 (RDP) で Windows のデスクトップ画面を表示させて利用することにしました。
活躍する廉価な Windows PC
相変わらず Windows には使わないアプリが満載で、バックグラウンドで動いていてしっかりリソースを食っていたりするので、廉価 PC の非力な CPU が少しでも余裕を持って動作できるように、不要なアプリを見つけてはひたすらアンインストールする作業を続けて、専業 PC に仕立てました。
流行りのゲームで遊ぶのでなければ、廉価な Windows PC でも一手間かければしっかり、しかも低電力で働いてくれます。
納得できる売買アルゴリズムを目指して
自動取引をする環境は整いました。あとは売買アルゴリズムの初期バージョン完成を待つばかりです。
日々、さしあたってターゲットにした 3 銘柄の株価データを VBA アプリがリアルタイム(1 秒間隔)で収集しています。収集したデータに対してシミュレーション用のプログラムで評価して売買アルゴリズムの開発に励んでいますが、まだまだ完成に辿り着けません。あまりゴールを高くせず、そこそこ勝てるアルゴリズムから始めたいのですが、その目先のゴールすら、まだまだ遠いです。
最近ではさらに Python の xlwings パッケージ [7] で Excel のワークシート上に流し込まれた株価データを読み込んで、あれこれ取り組んでいます。結局、慣れている Python の方がいろいろ試しやすいんですよね。
売買アルゴリズムの開発については、サブブログ [8] にまとめています。
きっと多くの人は OS に注目していない
いろんなことに使える高性能な Windows PC がフツーに売られていて、その一方で PC のソフトウェア売り場がすっかり少なくなってしまった現在、前述した使わないアプリが満載な初期状態の Windows PC は当たり前なのかもしれません。使いたいアプリが Microsoft Store にあればインターネット経由で入手できますしね。
買った Windows PC で Linux を起動できると確認できれば、迷わず Linux を上書きインストールしてしまう自分は、はっきり言って異端です。そして、最新の CPU を搭載した PC を、Linux 環境でぶんぶん稼働させたい派でもあります。そんなわけでメインの PC にはそこそこのスペックのものを買い求めますが、そう頻繁には買い替えができません。
そこで、廉価な PC を見つけると衝動買いをして Linux をインストールして遊ぶことが趣味みたいになっています。こういった PC は古くなっても Linux が動くので、不本意ながら、古くなった PC でも Linux をインストールすればまだまだ使えることを実感しています。しかし、だからと言って、古くなった PC に Linux をインストールすることを推奨することは避けたいものです。可能であれば新しい PC を使った方が OS がなんであれ、より多くのことができるからです。それに Windows に慣れ親しんでいるのであれば、わざわざ異なる操作を必要とする他の OS を使うことは、人によってはストレスにしかならない場合もあるでしょう。
一般的な用途であれば Windows PC で十分、いや、おそらく多くの人は OS を選ぼうなんて考えていないでしょうから、OS なんてなんでもいいじゃん でよいと思うのです。
だからこそ Linux を話題に
逆説的ではありますが、Linux 好きの言い分として Linux はこんなところで利用されている、ということをなるべく具体的に紹介していきたいと考えています。テーマを考えて不定期に公開していきます。
参考サイト
- SBI証券と楽天証券、国内株式の取引手数料を無料化 - Impress Watch [2023-08-31]
- bitWalk's: CHUWI GemiBook Pro を買いました [2022-06-24]
- bitWalk's: 【備忘録】マーケットスピード II の文字化け [2023-11-09]
- Amazon.co.jp: Microsoft Excel 2024(最新 永続版)|オンラインコード版|Windows11、10/mac対応|PC2台 : PCソフト
- bitWalk's: GMKtec NucBox G2 Plus [2025-02-16]
- bitWalk's: Remmina を使ってみる [2022-06-05]
- xlwings Documentation
- 私の株日記: 自動売買への道

にほんブログ村
#オープンソース

