Python

ゴールデンクロスかつ3役好転銘柄一覧表をスクレイピングで取得&Trading Viewとバフェットコードで分析する方法

Python

短期投資目的で銘柄選定するとき、以下の条件にて選定することって多いと思います。

  • 5日と25日の移動平均線のゴールデンクロス
  • 一目均衡表の三役好転
  • MACDの買いシグナル

これらの条件を満たす銘柄を探索するのに、手動での探索だと時間がかかってしまいますよね。これは非常に非効率的です。そこで、一瞬で選定するプログラムをPythonで実装したいと思います。

結論

グラフ, 取引, コー​​ス, 外国為替, 分析, 株, 証券取引所

2020年12月13日時点では以下です。4桁の数字が証券コードです。

  • 全条件を満たすもの           : なし
  • ゴールデンクロス且つ三役好転      : {6306, 7949, 1966, 2802, 6325, 2715, 3004}
  • ゴールデンクロス且つMACD買いシグナル : なし
  • 三役好転且つMACD買いシグナル      : なし

環境構築

Jupyter notebookで行います。Jupyter notebookのインストールは、Anacondaのインストールで可能です。以下の記事を参照してみてください。

  • Anacondaのインストール方法

robots.txtの確認

今回は、「株たん」よりスクレイピングします。
そこで、株たんがスクレイピングが許されているサイトかどうかを確認します。

株探

株探のスクレイピングは/94446337/以外はOKですね。

User-agent: *

Sitemap: https://kabutan.jp/sitemap-index.xml

Disallow: /94446337/
https://kabutan.jp/robots.txt

銘柄選定方法

株たんよりスクレイピング

株式投資の銘柄発掘・銘柄探検サイト | 株探(かぶたん) - 株探

株たんの以下の条件を満たす銘柄をそれぞれテーブル情報としてスクレイピングします。

  • 5日と25日の移動平均線のゴールデンクロス
  • 一目均衡表の三役好転
  • MACDの買いシグナル

テーブルとは以下のような表のデータのことです。

条件が重なる銘柄を抽出する

以下4つの条件を満たす銘柄がそれぞれいくつあるか把握する。

  • 全条件を満たすもの           
  • ゴールデンクロス且つ三役好転      
  • ゴールデンクロス且つMACD買いシグナル 
  • 三役好転且つMACD買いシグナル     

コード

  • pd.read_htmlにてテーブル情報のみをスクレイピング

5日線と25日線のゴールデンクロス

#5日線と25日線のゴールデンクロス
import pandas as pd
g_c_s = pd.DataFrame()
base_url = 'https://kabutan.jp/tansaku/?mode=2_0870&market=0&capitalization=-1&stc=&stm=0&page='
for i in range(8):
    url = base_url+str(i+1)
    print(url)
    g_c = pd.read_html(url)
    g_c_s = pd.concat([g_c_s,g_c[2]])

g_c_s_reset = g_c_s.reset_index()
g_c_table = g_c_s_reset.drop('index', axis=1)
g_c_table = g_c_table.drop('Unnamed: 3', axis=1)
g_c_table = g_c_table.drop('Unnamed: 4', axis=1)
g_c_table = g_c_table.drop('Unnamed: 6', axis=1)
pd.set_option('display.max_rows', None)#全部表示せよ
g_c_table

出力結果

一目均衡表、三役好転

#一目均衡表、三役好転
ichimoku_s = pd.DataFrame()
base_url = 'https://kabutan.jp/tansaku/?mode=2_0427&market=0&capitalization=-1&stc=&stm=0&page='
for i in range(8):
    url = base_url+str(i+1)
    print(url)
    ichimoku = pd.read_html(url)
    ichimoku_s = pd.concat([ichimoku_s,ichimoku[2]])

ichimoku_s_reset = ichimoku_s.reset_index()
ichimoku_table = ichimoku_s_reset.drop('index', axis=1)
ichimoku_table = ichimoku_table.drop('Unnamed: 3', axis=1)
ichimoku_table = ichimoku_table.drop('Unnamed: 4', axis=1)
ichimoku_table = ichimoku_table.drop('Unnamed: 6', axis=1)
pd.set_option('display.max_rows', None)#全部表示せよ
ichimoku_table

出力結果

macd買いシグナル

#macd買いシグナル
macd_s = pd.DataFrame()
base_url = 'https://kabutan.jp/tansaku/?mode=2_0440&market=0&capitalization=-1&stc=&stm=0&page='
for i in range(8):
    url = base_url+str(i+1)
    print(url)
    macd = pd.read_html(url)
    macd_s = pd.concat([macd_s,macd[2]])

macd_s_reset = macd_s.reset_index()
macd_table = macd_s_reset.drop('index', axis=1)
macd_table = macd_table.drop('Unnamed: 3', axis=1)
macd_table = macd_table.drop('Unnamed: 4', axis=1)
macd_table = macd_table.drop('Unnamed: 6', axis=1)
pd.set_option('display.max_rows', None)#全部表示せよ
macd_table

出力結果

条件を満たすものを抽出

  • & setにて、and処理をします
_all_ = set(g_c_table["コード"]) & set(ichimoku_table["コード"]) & set(macd_table["コード"])
g_c_and_ichimoku = set(g_c_table["コード"]) & set(ichimoku_table["コード"])
g_c_and_macd = set(g_c_table["コード"]) & set(macd_table["コード"])
ichimoku_and_macd = set(ichimoku_table["コード"]) & set(macd_table["コード"])
print("_all_:",_all_)
print("g_c_and_ichimoku:",g_c_and_ichimoku)
print("g_c_and_macd:",g_c_and_macd)
print("ichimoku_and_macd :",ichimoku_and_macd)

出力結果

_all_: set()
g_c_and_ichimoku: {6306, 7949, 1966, 2802, 6325, 2715, 3004}
g_c_and_macd: set()
ichimoku_and_macd : set()

Traiding Viewで開く

無料株式チャート、株式相場とトレードのアイデア — TradingView

以下のコードでは、ゴールデンクロス且つ三役好転の銘柄をTraiding Viewで開きます。

import webbrowser
code_list = g_c_and_ichimoku
for open_code in code_list:
    url = "https://jp.tradingview.com/symbols/TSE-"+str(open_code)+"/"
    webbrowser.open(url)

バフェットコードで開く

バフェット・コードのブログ

以下のコードでは、ゴールデンクロス且つ三役好転の銘柄をバフェットコードで開きます。

#バフェットコードで開く
import webbrowser
code_list = g_c_and_ichimoku
for open_code in code_list:
    url = "https://www.buffett-code.com/company/"+str(open_code)+"/"
    webbrowser.open(url)

選定された銘柄

明日以降の投資の参考にしてみてください。

  • 日工【6306】
  • 小松ウオール工業【7949】
  • 高田工業所【1966】
  • 味の素【2802】
  • タカキタ【6325】
  • エレマテック【2715】
  • 神栄【3004】

コメント

  1. […] ゴールデンクロスかつ3役好転銘柄一覧表をスクレイピングで取得&Trading Viewとバフェットコードで分析する方法ゴールデンクロスかつ3役好転銘柄一覧表をスクレイピングで取得&Trading […]

タイトルとURLをコピーしました