AIとファイナンス

AIとファイナンスの架け橋、それがこのブログの目指すところです。兼業投資家向けに、Pythonを駆使して株やFXの分析を「自分で」行えるようになるための情報を提供します。ニューラルネットワークを活用した市場予測から、実証済みの金融理論まで、全てのコードを公開し、誰もが活用できるように!是非色々なコードで遊んでみてください!

【米国株】IPO企業の株価変動分析。テンバガー銘柄を探せ!その2【Python】

またまた前回の記事に引き続き、米国IPO株の過去分析を行っていきたいと思います。前提として前回の記事で作成した「ipo_df」の中にはティッカー事に上場日から一年間の株価をダウンロードしてあります。前回はただ単純に視覚化しただけでしたらが今回は各銘柄が最大どのくらい上昇したのか、まったく上昇しなかった銘柄はどのくらいあるのか?を数えることで何かインサイトが得られないか試してみます!

今回は同じデータセットを使って上場後に最大Xパーセントまで上昇した会社が何社あるかというのを視覚化してみたいと思います。これをするとテンバガー(株価が10倍上昇すること)がどれくらい大変なのか、じゃあファイブバガー(5倍)なら少しは起こりやすいのか、というのが見えてきます。

# 10%から1000%まで10%区切りで増加した銘柄の数をカウント
percent_increases = range(10, 1010, 10)  # 10%から1000%まで
percent_counts = {}

for percent_increase in percent_increases:
    multiplier = 1 + (percent_increase / 100)  # 増加率を倍率に変換
    count = (ipo_df.loc[:, 'Normalized Close 1':'Normalized Close 253'] > multiplier).any(axis=1).sum()
    percent_counts[f'{percent_increase}%'] = count

# 結果をDataFrameとして表示
percent_increase_counts_df = pd.DataFrame(list(percent_counts.items()), columns=['Percent Increase', 'Count'])

percent_increase_counts_df

# CSVファイルとして保存
percent_increase_counts_df.to_csv('ipo_data_increace_counts.csv', index=False)

結果

今回のデータセットは2024年2月24日時点で2098社IPOデータです。そのうち株価データが無いもの(上場廃止、または名称を変更したもの)がなんと882社もありました。

#上場初日の株価がNoneになっているものを集計
delisted_likely_count = ipo_df['Normalized Close 1'].isna().sum()

その上で残りの1216社(=2098-882)のうち、一度でも10%以上上昇した銘柄はわずか693社、全体の33%、データが残っているものの内でも55%しかないということがわかります。残りの銘柄は上場日の終値から一度たりとも10%増もつけることなく1倍以下をさまようことになります。先ほどのコードからcsvデータを出力し、確認しましたが5倍を超えた会社はわずか19社でした。いかに成功するIPO銘柄を見つけるのが難しいかがわかりますね。

タイトルのわりに、少し辛気臭い終わり方になってしまいましたが今回は一度ここまでにしてみます。突破口が何かないか少し考えてみます!