最近、Pythonを使ったプログラミングにかなり力を入れてたのでその話題を紹介したく思います。もともと「最近幸せになれたこと」を紹介しようと思った結果、(投資とは関係ないですけど)今回の話題が一番かなと思ったんです。
当初は海外ETFやゴールド等の価格取得を目的にしていましたが、少しずつ範囲を広げていった結果、投資関係なく多くの作業を自動化するに至りました。
その結果、得たものは「精神的なゆとり」です。
以下、Pythonをどうやって覚えたのか、どうやって範囲を広げたのかといった学びの面について詳しく解説しますね!
[スポンサーリンク]
なぜPythonを始めたの?
さて、動悸のところから始めましょうか・・・って動悸ではなく、動機ですね。
最初の直接的な動機は「Pythonで株価を取得できたら便利だよね」でした。インデックス投資家は日々の相場情報とは無縁の投資家ですが、筆者は似非インデックス投資家なので、日々の相場情報をきっちりキャッチしているイケてる投資家ぶりたいと常々思ってました。
ただ、こういうのって特別な理由がないと、「やりたいなぁ」でずるずる先延ばしになったりするんですよね。何か切羽詰まるものだったり、何か誰でもマネできる再現性の高いものだったりと。
そんなとき、たまたま出会ったのが、ひっぺんさんのnoteです。これが本当にすばらしいのです。
現在はありがたいことに、開発環境(Google Colaboratory)もネット上に用意されていて、グーグルのアカウントがあれば誰でも無料で使えます。そこで、「ひっぺんさんのnoteのソースコードをコピペして実際にチャートを表示させてみた」というのが筆者のPythonデビューとなりました。
ちなみに筆者はGoogle Colaboratoryを使わず、LinuxでPythonを使うことになりました。Linuxを使いこなせるとなんだかちょ~かっちょい~イメージがあるからです。
実際には、noteで紹介されているyfinanceが上手く動かなくて、最初はGoogle Colaboratoryとの相性を疑ったせいでした。
基準価額の加工もPythonでできないか
さて、次に思ったのが「投資信託の基準価額の加工もPythonでできないか」でした。
というのも、このブログはどちらかといえば米国株よりも投資信託の話題がメインなんですよね。投資信託は基準価額の配信サービスなどが無い(※)ので、自分でデータを拾ってきて加工して検証するといった手間がかかります。時には10本以上の投信を比較するために数時間かけることもありました。
※eMAXISのAPIは除きます。
そこで、エクセルで手作業でやってたことを思い出し、その行為を1つずつPythonで再現していきます。やり方は簡単で「Python やりたいこと」でグーグル検索し、出てきたソースコードをコピペして動かすだけです笑
例えば、基準価額(csvファイル)をPythonの中に取り込むなら「Python CSV読み込み」ですし、グラフの加工をしたいなら「Python グラフ 加工」といった感じです。実現したい作業を1つずつ細かく分解し、Pythonで置き換えていきました。
上述の米国株の読み込みももちろん活用しています。例えば海外ETFと投資信託の比較は結構手間(海外ETFを円換算に直し、日付を揃えるため)ですが、米国株はAPIで読み、投資信託はCSVで読み、Pandasのライブラリで計算してやれば、円建てで比較できます。
といった感じで、投資信託の基準価額を操作するためのアプリも作りました。
投資以外のこともPythonでできないか
さてさて、ここまでくると当然のように「投資以外もPythonにやらせたら便利だよね」って考えに至ります。
というのも、筆者は個人事業主。お金に直結する行為があって、初めて収入を生みます。お金にならないことを頑張っても、来月の生活は今より豊かにならないんです。
例えばエクセルへのデータ転記など、仕事上必要だけども、それ自体はお金を生まない行為ってありますよね。1円にもならないのに、すごく頑張って仕事した気になるので非常によろしくない笑
というわけで、「必要だけどもお金には直結しない作業」はひたすらPythonに置き換えることにしました。やり方は一緒で、自分自身の普段の作業を細かく分割し、「Python やりたいこと」で検索し、出てきたソースコードで機能を作ってます。
ちなみに今は画像からOCRで文字を取り出してエクセルに転記する部分を作ってます。
そしてAI失業したw
このように、株価の取得から始めて、業務効率化まで行ってきた結果、暇になりました笑
ひっぺんさんのnoteを参考にPythonを初めて利用したのが2021年7月。ここまで約4か月。
この記事執筆時点では、まだ自分でコマンド打ったりと「半自動化」レベルです。ですが、将来的にはPython専用のPCが定時で作業を行う(またはスマートスピーカーで操作する)段階まで作りたいと思ってます。
そこまでいくと、もうPythonを覚える前にやってたことのほとんどが機械化されてしまうんですよね。「AI失業」とかよく言われますが、ほんとそんな感じですw
Pythonと言えばAI(機械学習)ですね!これはたぶん近い将来に手を出します。
Pythonでひたすら自動化を進めた結果、一番得られたのは「精神的な余裕」だと思うんですよね。1年前は遠くても1か月先のことぐらいしか考えていなかったのに、今は10年先の構想までしているのだから自分でもビビります。
「貧すれば鈍する」とはよく言ったもので、お金や時間に追われるほど近視眼的になってしまうんですよね。
といった経緯から、「Pythonを覚えてから人生が変わってきた気がする」というタイトルにつながります。少なくとも「時間的な切迫感は無くなり、将来に向けていろいろな構想を立てられるようになった」というのは零細事業者の1つの勝ちパターンだと思うんです。
忙しいけど儲かってないってほんと悲惨ですからね。
[スポンサーリンク]
まとめ
- 最初はネット上のソースコードをまるまるコピペしてPythonの動かし方を覚えた
- 次に少しずつ改良を加えた。方法がわからないので、都度やりたいことを細かく分解してグーグルで検索
- 覚えた知識を元に、応用できる範囲を広げた
今回の記事は以下の記事を見て書こうかなと思いました。
「幸せのストーリー」が見つからない時代 | President
「人が何をどうしたら幸せになったか」って結構気になるところだと思ってて、「筆者の場合、最近幸せになれたのってなんだろう」って考えた結果がこの一連の作業改善でした。
リンク先の記事とはちょっと関係ないですけど(苦笑
ちなみに空き時間でやっていることの1つがKindle Unlimitedでの読書です。読書の目的・コンセプトは下記記事に譲りますが、ひたすら知識を強化するスタイルでやってます。
いくつかの本を読んで気づいたこともあるので、これはまたおいおい紹介したいです。