「裁量だと、感情が入ってブレる」
「でも、自動売買って難しそう」
──そう思っていた自分が、**“まず動くところまで”**持っていけた手順をまとめます。
詳しい内容は動画にまとめていますので、そちらをご覧ください。
難しい理屈は一旦置いています。
「一緒にコードを書く」→「少しずつ理解」、この順番でいきましょう。
前提条件
・MarketSpeed2にログインできること
・RSS(Excel連携)が使える状態になっていること
・注文前提の操作になるので、最初は “テスト動作” から(本番発注は慎重に)
1) Python環境:Anaconda → JupyterLab
やることはシンプルです。
Anacondaを入れる
Anaconda Promptを開く(よく使うのでタスクバー固定がラク)jupyter lab で起動
Pythonファイル(notebook)を作って、Shift+Enterで実行
2) まずはモジュールを入れる(詰まったらここ)
基本はこの3段階でOK。conda install ライブラリ名
ダメなら conda install -c conda-forge ライブラリ名
それでもダメなら pip install ライブラリ名
3) Excel側の準備:MarketSpeed2のサンプルシート
ここができてないと、Python側を頑張っても動きません。
サンプルシート(注文シート付き)を開く
Excelのリボンに「MarketSpeed2」が出る状態にする
「未接続」なら、先にMarketSpeed2本体へログインして接続
RSS設定で「0円」になっていたら、上限金額を入れる(0円だと発注できない)
4) “株価取得用シート”を作る(例:D0)
やること(例):
新規シートを追加して名前を D0
取得用セル(例:I2)に銘柄コードを入れる
日経平均(225)も取得しておく(環境によってエラー回避になることあり)
5) Pythonの全体像(ざっくり設計)
流れはこれだけ。
Excelファイルを開く(パス指定)
D0シートをアクティブ
I2に銘柄コードを書き込む
少し待つ → 保存 → Excelの値を確定pandas.read_excel でDataFrame化
条件判定(例:移動平均)
注文シートへ値を書き込み → 発注トリガー
6) つまずきポイント(ここだけ先回り)
✅ rolling(移動平均)で最新がNaNになる
データの並び順が逆のままrollingすると崩れます。
いったん「古い→新しい」に並べてrolling → 最後に戻す、が安全です。
さらに「未来の情報を混ぜない(リーク対策)」も超重要です。
✅ xlwings と win32com が競合する
環境によってはExcel操作が不安定になります。
まずは“動く形”を優先して、あとで整理するのがおすすめです(自分もここで何回も詰まりました)。
7) 最後に:まず“発注まで動いた”が勝ち
自動売買って、最初から完璧を狙うと止まります。
まず動かす
そこから戦略を改善する
この順番が、結局いちばん早いです。
今回は Python初心者でも「まず動く」自動売買 を目標に、
楽天MarketSpeed2(RSS)×Excel×JupyterLabで、株価取得→条件判定→注文までの流れをまとめました。
✅この動画でわかること
・Anaconda/JupyterLabの基本操作(Shift+Enterなど)
・必要ライブラリの入れ方(conda / pip)
・Excel(MarketSpeed2 RSS)側の準備ポイント
・pandasで株価データをDataFrame化する流れ
・移動平均(SMA)を使った条件分岐の例
・注文シートへ値を書いて発注する考え方(テストから推奨)
⚠️注意
・投資は自己責任です(まずは小ロット/テスト運用推奨)
・MarketSpeed2 RSSの利用は規約・同意書を確認してください(参考記事)
・移動平均は「リーク(未来の情報混入)」に注意(参考記事)
関連キーワード
Python 自動売買/株 自動売買 初心者/楽天証券/MarketSpeed2 RSS/Excel 自動発注/JupyterLab/Anaconda/pandas/numpy/xlwings/win32com/株価データ取得/DataFrame/移動平均線 SMA/条件分岐 if文/例外処理 try except/発注トリガー/システムトレード