pythonでお宝銘柄探しの半自動化

前置き

私はしがない投資オタク会社員です。
投資歴が6-7年になり、たくさんの本を読み、ダブルバガー、トリプルバガー達成のコツが分かってきました。
既に上記を達成しているものの中には保持し続けているものもあり、将来的なテンバガーを夢に日々銘柄分析を頑張っています。
(今のところ達成できる気がしないですが。。)

個別銘柄投資は買うタイミングが大切

ダブルバガー、トリプルバガーを取りに行く上で重要なことの一つが、購入のタイミングを誤らないことです。
もちろん、競争力があり、社会の役に立ち、そして自分が理解できるビジネスをやっている会社を買うことが心の安息のために最優先ですが、
おそらく2番目に大切なのが買うタイミングだと思います。
単純にPSRやPERがいくつ以下、という話ではなく、
自分が思うその銘柄のあるべきPSRやPERに対して低いかどうか、
見極めることが重要です。

バーゲン銘柄を効率よく探すには?

さて、筆者は会社員をやっており、平日の9-5時は昼休みを除いて投資に時間を使うことができません。また、土日は家族や友達と出かけたり、プログラミングの勉強をしたりします。
そんな中で、バーゲンになっている銘柄を見逃したくないという思いから、
半自動的に検出できる方法を考えました。

巷には様々な便利ツールがあり、PERなどの条件で銘柄を絞り込んでくれるものがあることは知っているのですが、自分が知っている銘柄にしぼり、自分が思う指標に対して柔軟に条件を設定できるものは私が探す限りありませんでした。
例えばPER10以下、という条件を入力すると、業界としてバリュエーションが低い商社や不動産の銘柄ばかり出てきたり、将来性のないビジネスの銘柄が出てきたりするため、使いづらいのです。

そこで、yfinanceというオープンソースのSDKを使って、
pythonで自分が指定した銘柄のバリュエーションや直近の株価の変動率を一覧化してくれるプログラムを作成しました。
yfinance · PyPI

自動入力のためのスプレッドシート

具体的には、下記のようにお気に入りの銘柄とその比較対象の銘柄の証券番号のリストをスプレッドシートに入力し、pythonのプログラムで読み込んで現在の時価総額や直近の株価の変動率を自動で取得して入力するのです。
(文字の色、マスの色はお気になさらず)
(数字の正確性は保証しませんので、ご自身でご確認を)

筆者が使用するスプレッドシート

このように現在の株価などの情報は、週に何度かボタンをポチッと押すだけで自動で取得します。
そして平日の仕事の前後に、ネガティブなニュースもないのに特に理由なくダラダラと下がっているものや、決算で上がった後に反動で下がってきたものなど、自分で設定したルールに引っかかったものを買いの候補に入れるようにしています。

自動入力のためのプログラム


プログラムは非常に簡単なもので、pythonを使用して作成しました。
・googleスプレッドシートの読み込み
・yfinanceのSDKを使用した株価の時系列データの取得
・googleスプレッドシートへの書き込み
の順に行います。

例えば下記のような実装で時価総額を取得します。
(10億円単位で見たいので10億で割っています)

    info = yf.Ticker(ticker)  market_cap_b = info.fast_info["market_cap"]/1000000000

終わりに

もっと詳しく解説してほしい、なんなら代わりにつくってほしい、などのご要望がありましたら、記事のイイねとフォローをお願いいたします!!
一定数のご要望があるようでしたらココナラで解説や実装のサービスを出品するか、ノートに有料の超詳細なマニュアルを作成しようと思います。

ともにテンバガーを目指して修練しましょう!!

この記事が気に入ったらサポートをしてみませんか?