MYmemo

思い立ってやってみるけど、長続きしない。せめて記録しておく。

Termux + Python Flask + sqliteで株取引記録ツールを作ってみた

夏休みの宿題、のつもりで制作スタートしたのですが、気がつけば9月。たぶんプロがやれば1時間かからない作業だと思うんですけど…素人故この有り様。やっと投稿するに至りました。


米国株始めてみた

日本株は随分前から細々とやってました。運用成績は…まぁ、ボチボチ。で、次のステップを考えるなら米国株かな?と。特に深い考えがあった訳ではなく、他に思いつかなかったと言うか、日本株とそれほど必要なノウハウは違わないかなと。強いて言えばこれが理由です。


日本株でちょっと心残りだったことがあります。取引始めてから最初の数年間は取引履歴をまったく記録してなかった。あとで過去を振り返ろうと思った時には遡れなくなってしまってまして、これがちょっと心残り。なので、今から始める米国株は取引レコードをメモっていこう。そう思いました。


一番カンタンなのはExcelで管理すること。Excelって超洗練されたデータ管理ツールですよね。

しかーし、それではつまらない。

ここに無駄な労力をかけよう!そう思ったのが今回の記事の発端です。



開発環境と開発ツールの概要

開発はほぼすべてスマホでやりました。一応子持ちの親です。中々子どもが離れてくれる時間がなくて、パソコン開くのも手間だし、子どもが離れてる合間にスマホでせっせと作業。

  • 使用端末:Pixel6a
  • Termuxでpython, Flaskを使用したWebアプリを制作する
  • Webアプリ上では過去の取引レコードを一覧表示し、キーワードで表示を絞ることができる。表示レコードの合計損益が表示できる。また、レコードを追加できる。
  • レコードはSqlite3を使ってデータベース化する
  • editorはTermuxにインストールしたEmacs
  • CSSにはフレームワークのmilligramを使用
  • レコード検索を簡単にしたいのでjavascriptライブラリのlist.jsを使用



制作成果

トップ画面はこんな感じです。

milligram (CSSフレームワーク

美的センスには自身がないのでCSSフレームワークの力を借りました。
軽く動作させられて、あんまり実装が難しくなさそうでシンプルなデザインをと思って選んだのはmilligramです。 milligram.io


本当は、Skeletonってのを使いたかったのですが、私の力量の問題で上手くレイアウトできず断念しました。 getskeleton.com



list.js(javascriptライブラリ)

listjs.com

※ごめんなさい、他は後日更新します。



雑感(アプリ制作)

繰り返しますが、そのテの人なら秒でできる作業だと思われます。というのも最終形を見返してみると、全然大した行数ではない。見通しが立ってたらホント秒だと思います。

何に時間がかかったか?

多分list.jsとjavascriptの実装だと思います。こいつの特性を理解するのにものすごく時間がかかってしまいました。pythonみたいに実行した時にエラーが出たらいいんですけど、なんで上手く行ってないかに気がつくのにものすごい時間を費やした。

これを自前でやる意味があるのか?

無いですね〜。勉強か趣味でないのであれば…



雑感(米国株)

少額でとりあえず6銘柄くらい買ってみました。結果全部マイナス。いやぁ、銘柄知らなすぎるし、値動きが日本株の感覚と違うくて…。これやったら日本株に専念したほうがよっぽどいいか?