年金貯蓄口座のリバランスで疲れ果てて、リバランサーサービスを作りました : Q-Balancer
(qb.dsp.ai.kr)韓国投資証券の年金貯蓄口座を手作業でリバランスしていたところ、あまりにも大変で気力が削られたので、リバランサーを作ることになりました。
(「リバランスがなぜそんなに大変なのか」と思われるかもしれませんが、成行売買はしたくないので指値で売買しようとすると約定しにくく、何度も確認しなければならず、結局ほかの作業をしているうちに何日もかかることが多いんです。計算するのも面倒ですし)
しばらくは自分専用としてローカルで一人で使っていたのですが、これをサービスとして公開したらどうなるだろうと気になって、サービスとして拡張してみました。
いくらバイブコーディングとはいえお金が絡むことなので、一つひとつ確認しながら実装していたら1週間(テストまで含めると約10日)もかかってしまいました。
思った以上に動かすのも複雑で(セキュリティ上の問題で)、ガイドページやFAQもあらかじめ丁寧に作成してあります。
大まかなプロジェクト構成は次のようになっています。
-
Webダッシュボード
- リバランスする銘柄と比率を決め、リバランス周期や乖離率などを設定します。
- ポートフォリオのバックテストもできます。
- 実際にボットが動き始めると、売買履歴や資産状況も可視化します。
-
Trading bot
- ユーザーのPCでローカルサービスとして実行するボットです。(個人のコンピューターや個人サーバーで動作させれば大丈夫です)
- 韓国投資証券のAPIを通じて売買します。
- Webで設定した値をもとに、定期的にリバランスします。
- セキュリティ上の懸念があるため、口座番号やAPIキーはサーバーへ送信・保存せず、ローカルでのみ管理します。
現在は韓国投資証券のAPIだけを使っていますが……本当に他の証券会社まで連携すべきかはまだ分かりません。
追記: ドメインはまだ新しく取得していません。人気が出てユーザーが増えたら新しく取ろうか考えています。いちばん幸せな想像は、多くの方に使ってもらって有料化まで行けることです。
29件のコメント
(韓投ではない)証券会社の社員です。
おそらく有料化されるのであれば、投資助言業などのライセンス要件を確認されたほうがよいと思います。
そうでないと違法行為として制裁を受ける可能性があるため、くれぐれも注意されたほうがよいです。
韓国はこうした金融に対する規制がかなり厳しいほうですので。
本当に万が一の話ではありますが……念のためと思い、おせっかいながらコメントでお伝えしました。
アドバイスありがとうございます。
私は投資に関する助言をしているわけではないので問題ないと思っていましたが、ダブルチェックは必須ですね!
リバランシング自体が投資助言と見なされるように思えます。有料化する前に、弁護士に相談してみたほうがよいと思います。
はい、ありがとうございます。
(無料確定ですね 笑)
金融のことに疎いのですが..
年金貯蓄口座で
現在「韓国投資長期資産配分証券投資信託C-Pe(混合-再間接型)」に投資しているのですが..
これはどうやって登録すればいいのでしょうか?
あっ、その銘柄は調べてみたところ、ETFではなくファンドのようです。
ファンドは対象としていません...
https://dart.fss.or.kr/dsab005/main.do こちらで照会してみると..
確認してみたところ.. ファンドコードは存在しているのですが...
EA231
ポートフォリオでコードを追加する際に、ファンドコードも考慮していただけるとありがたいです。
頑張ってください。
ETFではないファンドについて検索するだけなら簡単なんですが。
実際にbotでAPIを使って売買しようとすると、ファンドはまったく別のAPIを使わないといけないようですね。
ところで、なぜファンドをやるんですか? ファンドも個人で追加のリバランシングをするんですか???
ファンドはもう少し何かをしてくれるものだと思っていたので、追加で何かが必要だとは一度も考えたことがありませんでした。
少し検討が必要そうですね。
一度ナスダック向けに作って、ローカルで動かしてみないといけませんね。いいアイデアですね。
応援しています。
ローカルで動かすのは簡単です。
ただ、海外口座なら税金の計算も一緒にしてくれるとさらに良いですね。税金に応じた設定もできると良いと思います。
私も似たようなものを個人的に作って、あれこれ実験していたので、うれしいです。応援しています。
ありがとうございます。
一人で回すこと自体は思ったより簡単だったのですが、UI を付けて連携し、抜けがないか確認して、ガイドを書くのに思った以上に時間がかかりました。
ありがとうございます
ぜひご活用ください…
私もCLIで同じように照会してリバランシングするものを作ってみていたのですが、やはりWebで見せてくれるほうが便利ですね〜
もしよければ、Webにはどのフレームワークを使われたのか教えていただけますか?
Next.jsを使いました。
最近、私も joyful-traders という感じで、ローカルで韓投 API を使ってあれこれ楽しく試していた記憶があります!!
素敵なプログラムを共有してくださってありがとうございます〜〜 しっかり使わせていただきます(笑)
ありがとうございます〜
検索時に検索ボックスが大きくなったり小さくなったりするのは、修正するとよさそうです。
便利に使わせていただきます!
あっ、まったく問題点を感じていなかったのですが、もう一度確認してみます。
バックテストのデータはどこから取得していますか?
バックテスト用の日足データのことをおっしゃっているのでしょうか?
私はYahoo Financeがあまり合わないので、Naver金融のデータを参考にしています。
ネイバー証券にもAPIがあったんですね。ありがとうございます
オープンAPIではありません ;_;
似たようなことを考えていたので、いいですね〜。
irpは API に対応していないと書かれていましたが、手動で入力する機能もあるのでしょうか〜?はい、IRP口座は韓国投資証券で塞がれているのか、APIのサポートがないようでした。
うーん、資産状況は取得できて計画も立てられるので、そのまま従えばよさそうですね。
ただし売買はエラーになるはずなので、リバランスの日だけ手作業で実行すればよさそうです。
IRP口座は以下のようにコンソール(およびTelegram)にリバランシング計画のみを出力しているため、これを参考に売買していただければよいと思います。
ps. 金額や株数は私の口座のため、一部 ? で表示しています。
=== Starting Portfolio Rebalancing ===
Checking for pending orders to cancel...
[KISApi] Pending Orders Info Failed: 退職年金口座ではこのサービスは利用できません。
未約定注文はありません。
Analyzing current portfolio state...
[KISApi] IRP/Pension Account Detected: Switching to Fallback Balance Check (TTTC8434R).
📋 リバランシング計画 (Rebalancing Plan)
[売却計画 (SELL)]
[購入計画 (BUY)]
...
⛔ IRP/退職年金口座はAPI自動注文に対応していません。
上記の「リバランシング計画」を参考に、MTS/HTSで手動売買してください.
ポートフォリオの選択と分析、バックテストまで、どれもシンプルで良いですね。
ありがとうございます〜