メインコンテンツまでスキップ

価格情報システム

元富証券の価格情報システム Python API を分析した後、私たちは自分のニーズに基づいて価格情報システムを開発することができます。

元富証券が提供する価格情報システムの使用例では、複数の株式を購読する方法が特に示されていませんが、私たちはソースコード内でこの機能を発見しました。モバイルアプリの実装ではなく、UI 画面に接続できないため、表示方法はコマンドラインだけになります。そのため、設計を変更して、各株式の購読情報を外部ファイルに出力することにしました。これにより、コマンドラインで情報が混乱するのを避けることができます。

アカウントへのログイン

アカウントのユーザー名とパスワードをクラスの入力に直接記述することもできますが、私たちの方法を参考にして、アカウント情報を保存するために yaml ファイルを使用することもできます。

パラメータファイルには、アカウントのユーザー名、パスワード、アカウント番号が必要です。この情報で元富証券のアカウントにログインできます。

次に、autotraderx から QuotationSystem クラスをインポートします:

from autotraderx import load_yaml
from autotraderx.masterlink import QuotationSystem

# アカウント情報の読み込み
cfg = load_yaml(DIR / "account.yaml")

# アカウントにログイン
handler = QuotationSystem(
user=cfg["user"],
password=cfg["password"],
subscribe_list=["2330", "2454"]
)

ログイン時には、購読したい株式コードも一緒に渡します。この部分も yaml ファイルに記述しておけば、毎回プログラムを変更する必要がありません。

価格情報システムの起動

アカウントにログイン後、次のように価格情報システムを起動できます:

handler.run()

run_quotation

起動後、価格情報システムは実行ディレクトリにファイルを作成します。これには次の内容が含まれます:

  1. log_[当日の日付]_[株式コード]_info.md:株式の前日の終値、最新の取引価格、最新の取引量などの情報を記録します。
  2. log_[当日の日付]_[株式コード]_match.md:株式の各ティックの取引情報を記録します。

その後、何もする必要はなく、価格情報システムが自動的に株式情報を更新します。あなたは待機するだけです。

プログラムを終了するには、Ctrl + C を押して価格情報システムを停止できます。

内容例

以下に更新されたファイル内容の例を示します:

商品基本情報

項目数値
中国名台積電
取引所コードTWS
参考価格921.0000
上昇制限価格1010.0000
下落制限価格829.0000
前営業日の取引量26262
前営業日の参考価格922.0000
前営業日の終値921.0000
業種24
株式異常コード0
非 10 元面額メモ
異常推奨個別株メモ
現物株当日取引メモA
取引単位1000

日次取引データ

取引時間取引価格上昇/下落取引量累計
11:14:28.097382944.0000+23.000223491
11:14:33.153135944.0000+23.000123492
11:14:37.089803944.0000+23.000223494
11:14:38.663758944.0000+23.000423498
11:14:59.809925945.0000+24.000123499
11:15:00.081727944.0000+23.000223501
11:15:00.196828944.0000+23.000123502
11:15:00.567548944.0000+23.000123503
11:15:04.071329944.0000+23.000123504
11:15:04.598060944.0000+23.000123505
11:15:07.634295944.0000+23.000323508
11:15:10.137589944.0000+23.000223510
11:15:12.460697944.0000+23.000323513

その他の機能

現在、いくつかの機能が完成待ちです:

  1. 出力形式の指定:現在、出力先は Markdown ファイルのみですが、将来的には CSV や JSON などの他の形式に出力できるようにすることが検討されています。
  2. 取引イベントのインポート:価格情報システムと取引システムを統合し、価格情報システムが特定の価格を検出した場合に自動的に注文を出すことができるようにする機能。

出力形式については、今のところ他に特別な要求がないので、現時点では保留にしています。取引イベントのインポートについては、通常「取引戦略」と呼ばれるもので、対象によって異なるため、どのように設計するかが次の開発の重点となります。

もちろん、その他の機能も追加できます。ご提案があればお聞かせください。