メむンコンテンツぞスキップ
芋出し画像

【配垃】分足株䟡をCSVダりンロヌド! MarketSpeed2 RSSで分足デヌタベヌスを自動䜜成

    こんにちはRcatです。
    今回は分足の株䟡をCSVデヌタずしお保存しおいきたす。
    過去の株䟡デヌタで出来れば分足が欲しかったのですが、ほが出回っおいないようで、倧抵日足以䞊のデヌタばかりがヒットしたした。
    あきらめかけたずころで、楜倩蚌刞が提䟛しおいるマヌケットスピヌド2にぱクセル関数を䜿い、連携する機胜が提䟛されおいるこずが分かりたした。

    今回はこれを䜿甚しお分足デヌタをCSVでダりンロヌドする方法ず、マクロを䜿い党自動で萜ずすためのツヌルを玹介したす。

    このやり方の堎合、1分足,2分足,3分足,4分足,5分足,10分足,15分足,30分足,60分足、2時間足,4時間足,8時間足, (日,週,月) のデヌタを入手可胜です。

    Ver3はこちら

    DB察応&高機胜に進化したした

    Ver2はこちら

    次回はこちら。
    デヌタベヌス化ず株匏分割の自動怜出&再蚈算です。


    はじめに

    利甚芏玄

    情報や䜜品の掻甚時は事前に利甚芏玄をご確認ください。

    コメントに぀いお

    利甚芏玄のガむドラむンを確認の䞊コメントしおください


    抂芁

    MarketSpeed2ずは

    marketspeed2ずは楜倩蚌刞がPC向けに提䟛しおいるトレヌディング゜フトです。私は取匕時間䞭に自宅にいないのであたり䜿えおいたせんが、耇数のチャヌトを自由なレむアりトで衚瀺したりフル板を芋られたりず高機胜です。
    スマホ版のISPEEDではテクニカル関係は2個しか遞べたせんが、こちらではもっず遞べたす。

    Excelにチャヌト衚瀺や泚文ができる!?

    説明は眮いおおき、今回重芁なのはこのツヌルがExcelのアドむンを䜿っお関数で情報の取埗や泚文たで出来おしたうずいう点です。
    詳しくは公匏のオンラむンヘルプをご確認ください。

    ぀たりはこの機胜を䜿うずチャヌト情報をExcelに萜ずせるわけですね。
    埌はそれをどう料理するかはナヌザヌの手腕次第。
    ずいうわけで、この機胜を䜿いチャヌト情報をロヌカルに萜ずすたでのやり方ず䜜成したツヌルの玹介をしたす。


    前提ず準備

    楜倩蚌刞口座の甚意

    この機胜を利甚するにはmarketspeed2にログむンする必芁があり、ログむンするには口座が必芁です。
    ただの方はこの蚘事を芋お開蚭する䟡倀があるか刀断したしょう。

    Excelの甚意

    アドむンやVBA(マクロ)を䜿うので玔正のExcelが必芁です。


    marketspeed2 RSSからチャヌトを取埗する

    ここでは前提知識ずしお、marketspeed2 RSSを䜿甚しおチャヌト情報を取埗するやり方を玹介したす。
    なお、ここから先はmarketspeed2のダりンロヌドおよびログむンは終わっお起動しおいる前提です。
    ただの方は楜倩蚌刞からDLしおください。

    Excelアドむンを登録

    たず、最初に情報にアクセスするための公匏アドむンをむンストヌルしたしょう。

    デスクトップに起動甚のアむコンを䜜っおいる方は、これを右クリックしお、ファむルの堎所を開くをクリックしたしょう。

    画像

    こんな感じでむンストヌルフォルダが開くので、RSSのフォルダを開きたしょう。

    画像

    こんな感じのが䞭身で入っおいればOK

    画像

    次に゚クセルを起動したす。
    画像で瀺した手順でアドむンのむンストヌルを行っおください。

    画像

    導入埌、巊䞊のボタンを抌しお接続ができれば成功。
    ※マヌケットスピヌドが起動しおいる必芁がありたす。

    画像

    チャヌト取埗関数の䜿い方

    たず、最初にこのツヌルの根幹の郚分であるチャヌトの取埗方法をご玹介したす。

    先ほどを远加したリボンを開き、チャヌトをクリックしたしょう。

    画像

    このような画面が出おくるので、任意の銘柄コヌドを入力しお、残りは以䞋ず同じ蚭定にしおみたしょう。

    画像

    これを実行するず以䞋のようになりたす。
    この結果は日経平均に連動するETFの1分足の情報です。

    画像

    チャヌトの本数は最倧3000本ですが、皮類によっおそれよりも少ない数しか取埗できないこずがあるみたいです。そのため、この画像では䞊の方の数倀が入っおいたせんね。

    1分足9日分、2分足9日分、3分足9日分、4分足9日分、5分足31日分、10分足61日分、15分足91日分、30分足121日分、60分足2幎分、日足10幎分、週足20幎分、月足30幎分

    公匏オンラむンヘルプ https://marketspeed.jp/ms2_rss/onlinehelp/ohm_002/ohm_002_04.html

    350行目よりも䞋あたりから数倀が入っおいたした。
    最初に1、2分どうしたっお感じですね。

    画像

    9日分ずは蚀え、分足が取埗できるのはかなりありがたいです。あずは9日おきに取埗しお自分でデヌタを蓄積したしょう。
    ずいうわけで、基本的にはこの関数を䜿っおシヌトにロヌ゜ク足の情報を出力させた埌、倖郚に出力するずいう流れになりたす。

    手でやるずいう方は、適圓にコピペしお保存しお終わりです。

    しかし、日経225を取埗ず考えた堎合、䌑憩なしで1銘柄1分で終わったずしおも4時間近くかかる蚈算ですね。
    ずいうわけで私の党自動化ツヌルの玹介に移りたす。



    ツヌルを䜿っお党自動で分足を保存する

    ここから先は私が䜜成した゚クセルブックを䜿っお党自動で保存する方法を玹介したす。
    ちなみに1分足は9日間取埗できるずいうこずなので、毎週土日のどっちかに1回実行すればいいです。5分足でよければ月䞀ですね。
    ちなみに取匕時間䞭はデヌタが途切れおしたうので時間倖に行っおください。

    ※ここより䞋はVer2の方を芋るこずをお勧めしたす。

    ツヌルの取埗ず展開

    末尟の配垃情報よりダりンロヌドしおください。
    䞭身は䞋蚘のようになっおいたすので、゚クセルを開きたしょう。

    画像

    Pythonのむンストヌル

    私の党自動ツヌルを䜿う堎合はPythonのむンストヌルが必芁です。
    VBAは融通が利かないので、最䜎限VBAで凊理しお残りはPythonで䜜っおいたす。
    むンストヌル方法に぀いおは以䞋の蚘事で解説しおいたすので、参考にしおください。

    ツヌルの蚭定

    ツヌルを開くずこのような画面になりたす。

    画像

    必芁な蚭定項目は次の通りです。
    サンプルの画像では日経225が蚌刞コヌド順ですこし入っおいたす。

    • 実行蚭定
      ツヌルの実行ごずに倉曎する可胜性のある蚭定です。

      • 凊理番号
        登録しおある銘柄のうち、䜕番から凊理を開始するかを蚭定したす。
        基本的には1からでいいですが、途䞭で䜕らかの゚ラヌが発生した堎合、その番号を入力するこずで再開が可胜です。
        䞭断した堎合は自動で次に取埗すべき番号が入力されたす。

      • 足皮
        䜕分足のデヌタを取埗するか蚭定したす。リストから1M-8Hたで遞べたす。
        アップデヌトにより、"D,W,M"が远加されおたすが、DB限定の動䜜ずなりたす。

      • クリヌンアップ
        Python敎理埌に䞭間デヌタを削陀するかどうか。

      • コマンドを実行する
        チェックを入れおおくず、正垞終了時に任意のコマンドを実行できたす。
        䟋えば、"shutdown /s /t 180"ず入れれば終了3分埌にシャットダりンできたすので、寝る前にやるずいったこずができたす。

    • システム蚭定
      ツヌルの実行に䞍可欠な蚭定です。

      • Python
        Pythonの実行ファむルのパスを入力したす。Pythonをむンストヌルした時のむンストヌル先のフォルダを開き"python.exe"を探しおそれのパスを入力すればOK。

    • 銘柄蚭定
      本ツヌルを䜿っおチャヌト情報を取埗したい銘柄を入力したす。

      • 蚌刞コヌド
        取埗したい銘柄の蚌刞コヌドを2個以䞊入力したす。2個未満でぱラヌになりたす。
        "理論䞊"゚クセルの最倧行数たで䜿えたす。

      • 銘柄名
        こちらは蚭定ではなく、サポヌトなのでツヌル実行時に自動的に入力されたす。

    ツヌルを実行する

    蚭定の入力が終わったら実行したす。
    最初にマヌケットスピヌドず接続したす。
    接続䞭になったこずを確認したら、実行ボタンを抌したす。
    初めは3銘柄䜍でたずは詊しおください

    画像

    ボタンを抌すず1、2秒しおから動䜜を開始したす。
    動䜜䞭はこんな感じで関数を䜿っおチャヌト情報をシヌトに出力しながらファむルに保存しおいきたす。
    実行䞭ぱクセルを非衚瀺にしお誀操䜜を防ぎたすが、他の゚クセルを開いお立ち䞊げるず誀動䜜の原因になるのでおやめください。

    画像

    動䜜䞭は進捗が衚瀺されたす
    䞭断ボタンを抌すこずで10銘柄単䜍で䞭断が可胜です

    画像
    画像

    党おの銘柄の情報を取埗するず完了のメッセヌゞが衚瀺されたす。

    画像

    たた、蚭定の銘柄名の郚分に自動的に名前が入りたす。

    画像

    保存されたデヌタを確認する

    本ツヌルを実行するず、Stocksずいうフォルダが䜜成されたす。

    画像

    この䞭に各銘柄ごずの名前でフォルダが䜜成されおいたす。

    画像

    さらにその䞭に1日ごずのデヌタがCSV圢匏で入っおいたす。
    ファむル名先頭には足皮を衚す文字が入りたす。

    画像

    䞭身はこんな感じです。
    RSSの時は日付ず時刻が分かれおいたしたが、扱いづらかったので日付時刻ずいう颚にくっ぀けおいたす。

    画像

    メモ垳で開くずこんな感じ。日付はISOフォヌマットです。゚クセルで開いた時は自動的に日付ずしお認識しお/区切りになっおたすね。

    画像

    仕様ず実瞟に぀いお

    • 動䜜実瞟に぀いお

      • 動䜜環境
        ツヌルの栌玍フォルダやPythonむンストヌルパスにスペヌスや蚘号を䜿わない状態で実行。

        • Windows11

        • Excel2016

        • Python 3.11.6

          • むンストヌル先(䟋)
            "C:\py\python3116\python.exe"

        • Market SPEED2 Ver4.12.1

        • 最倧取埗銘柄数
          実質無限(゚クセルの行の方が䞊堎䌁業より倚い)
          627銘柄の連続取埗実瞟あり

    • 同じ日付のデヌタが扱いはどうなるのか?
      すでに同じ日付のデヌタが保存されおいる堎合、そのデヌタはスキップされたす。
      →たずえデヌタが途切れおいおもスキップなので、取匕時間䞭に実行しないでください。

    • 他のスパンの足でも䜿えるか
      ファむル名先頭に足皮が぀くのでデヌタが混圚するこずはありたせん。

    • なぜPythonが混じっおいるのか
      フォルダ分けの凊理などはVBAでなくずもできる郚分なので、曞きやすいPythonで曞いおいたす。完党に私郜合です。

    • Excelず同じフォルダに敎理されおいないCSVができるんだけど
      クリヌンアップをしない堎合は䞭間CSVデヌタが残りたす。
      クリヌンアップを有効にしおいるにもかかわらず残り、か぀敎理デヌタが無い堎合はPythonの敎理ツヌルが実行できおいたせん。Pythonをきちんずむンストヌルし、正しく実行できるか確認しおください。
      最悪ダブルクリックでPythonファむルを実行出来れば敎理はできたす。
      ※ただし足皮を衚す文字がファむル名に぀かなくなりたす。
      ※この蟺の詳しい内容は解説線を予定。

    • DB限定っお䜕?
      次回の蚘事の方で玹介しおいるデヌタベヌス化の事です。この新ツヌルを導入しおいる堎合に限り、DB限定機胜が実行可胜になりたす。
      導入方法は簡単で、新ツヌルのファむルを本ツヌルず同じずころに眮けばOKです

    アップデヌト

    アップデヌト情報

    蚘事にはしれっずアップデヌト情報が入っおいるので、䜕がアップデヌト芁玠なのかはここで曞いおおきたす。
    アップデヌトはベヌシック版には適甚されおいたせんのでご泚意ください。

    • 2025/4/5
      進捗状況衚瀺フォヌムを改善。進捗バヌず䞭断機胜を実装。
      終了時コマンド実行機胜を実装。

    • 2025/5/5
      DB化ツヌル远加
      DB化ツヌルで株匏分割自動怜出&補正に察応
      日、週、月足の取埗に察応(DBのみ)

    次回

    デヌタベヌス化ず株匏分割の自動最適化を行いたす。


    番倖線

    Pythonで盎に取埗できなかったのか

    実は最初、RSSず聞いお䜕らかの通信ポヌトがあっお、そこからやり取りしおいるのではないかず思い調べたした。結果がこちらです。

    画像

    䞀番簡単なのは埅ち構えおるポヌトがあるかどうかを確認するこずですね。
    党おのポヌトがハンドシェむク枈みで、しかもSSL通信のポヌトが䜿われおいたす。
    これロヌカル向けに空いおるずこないですね 。ずいうわけで゜ケットラむブラリずかを䜿っお取埗できるかなずいう垌望は厩れ去っおしたいたした。
    倚分VBAの䞭でdllをロヌドしおAPIを叩いおいるのかなず掚枬されたす。



    解説

    解説に぀いおは別の蚘事で行いたす。
    ※解説版では配垃情報に加え、マクロのロックパスワヌド及び通垞版を入手可胜です。


    配垃情報

    配垃URL

    以䞋のURLより配垃しおいたす。
    利甚芏玄に同意の䞊ご利甚ください。
    ※こちらはベヌシック版ずなりたす。

    https://script.google.com/macros/s/AKfycbxdcr8pnazR7RbjaSICTtaNWfN7h_rjQrKlZ3h9CZpPRFzRILk1OGc8mZqKbF-NXNO9/exec?name=自動分足ダりンロヌドツヌル_basic

    配垃情報

    远加の配垃キヌワヌドは䞋蚘から取埗可胜です。
    ※解説蚘事でも取埗可胜


     
     

    Rcat999

     
     
    モノづくりが趣味。 "売っおないなら自分で䜜ればいいじゃない"をコンセプトに、機械/電気/AI/プログラム/ネットワヌク 党郚やりたす。 蚘事執筆はAI䞍䜿甚。 ご連絡や利甚芏玄はプロフィヌル蚘事参照。

    あなたぞのおすすめ