おちゃのテクログ

DIY好き、スポーツ好きのプログラマです

ipo自動化

readme.mdが見やすいように、ブログとして公開しときます

SBI IPO申し込み自動化アプリ

seleniumというライブラリを使ってpythonGoogleChromeを操作してIPO注文を自動化します。

  • SBI証券IPOページを開いて申込ボタンがあれば申し込みます
    • 注文数:最小注文数(だいたい100株)
    • 価格:ストライクプライス
    • IPOポイント:使用しない
  • 全部注文するのは怖いので一応このサイトの評価がS,A,B,Cのものを注文します
  • サイトの評価やアプリの注文状況を保存するためにGoogleSpreadSheetに履歴を残します。
  • 当選した場合の購入意思表示までは自動化できていません

設定方法

Windows10でWSL(Ubuntu18.04)を使用します。Winsows StoreからWSLのUbuntu18.04をインストールしてください。

ファイルの配置(Windowsから直接の場合)

  • Windowsエクスプローラーに下記を入力して、そこに作業用のフォルダを作り、このreadme.mdを含むファイル一式をコピペします。[username]はununtuのユーザ名です
  • アクセスできないときは再起動とかごにょごにょするとできるみたいですが、VSCodeを使う場合でやってください
\\wsl$Ubuntu-18.04\home\[username]\

ファイルの配置(VSCodeを使う場合)

  • WindowsVSCodeをインストールします。
  • VSCodeを起動して画面左のアイコンが縦に並んでいる中のExtensionsを開きます。
  • Extensionsの検索バーに「remote」と入力して「Remote Development」をインストールします。
  • インストール後、画面左のアイコンが並んでいる中のRemote Explorerを開きます
  • Remote Explorer画面の上部コンボボックスからWSL Targetsを選択して、表示されるWSLの中からUbuntu-18.04を開きます
  • VSCodeの画面上部のメニューからView - Terminalを開きます
  • Terminalで下記のように入力して作業用のディレクトリを作成します
mkdir work
cd work
mkdir ipo_auto
cd ipo_auto
  • VSCodeの画面上部のメニューから File - Open Folderでipo_autoフォルダを開きます
  • VSCodeの画面左のアイコンが並んでいる中のExplorerを開き、IPO_AUTOの中に向かってWindowsからこのreadme.mdを含むファイル一式をコピペします

ライブラリのインストール

setup.shを実行してください

sh setup.sh

GoogleSpreadSheetの設定

このサイトを参考にして、GoogleSpreadSheetにプログラムからアクセスできるように認証情報の書かれたjsonファイルを生成します。 生成されたjsonファイルの中身をquicksheet_auth.jsonに書き込んでおきます。 作成した認証情報でアクセスできる共有スプレッドシートのファイル名(このサイトでいうgoogle-python)とシート名(このサイトでいうシート1)を下記のように変更します。この名前はconst.pyで変更可能。 - ファイル名 :google-python -> ipo - シート名 :シート1 -> list

認証情報の設定

SBIのログイン情報、注文パスワードをconst.pyに設定してください。

class SbiSetting():
    USERNAME = '***-******'            #ログインユーザ名
    PASSWORD = '**********'             #ログインパスワード
    TORIHIKI_PASSWORD = '*******'      #取引パスワード

テスト

run.shを実行するとアプリケーションが動作してgoogle spread sheetに結果が反映されます

sh run.sh

タスクスケジューラの設定

Windowsから定期的にWSLのプログラムを実行できるようにタスクスケジューラを設定します - kick_autoipo.batの[YOUR_WSL_USER_NAME]をWSLのユーザ名に変更します

wsl -d Ubuntu-18.04 -u [YOUR_WSL_USER_NAME] -- bash ~/work/auto_ipo/run.sh
  • kick_autoipo.batをWindowsの任意のフォルダに保存しておきます
  • Windowsのタスクスケジューラで決まった時間にkick_autoipo.batを実行するようにします