Giter Site home page Giter Site logo

astock's Introduction

astock

事前検討の目的

  • 機械学習を用いて利益を出すための筋道を明確にする
  • 多くの数字はハイパーパラメータであり,はじめから最適な値を設定することは困難
    • 理由をつけて値を決定することによって調整する際の参考,指針とする

大目標

  • 中長期で株を保有後,株を売却することで利益を出すこと
  • 株価の暴落が起こった際のリスクが軽減されていること
  • 平日のリアルタイムに取引操作が不要であること
  • 日々の運用にかかる時間が少ないこと
  • 実際の取引前に効果を確認できること
  • 予想が外れた場合の株式が蓄積されないこと

課題・検討事項

  1. 株式を保有する"中長期"とはどのくらいか → 期間(週)
  2. 手数料に関する処理はどうするか → 手数料(円/週)
  3. 求める利益はどのくらいか → 利益(円/週)
  4. リスクを定量的に評価する方法 → 方法
    1. リーマン・ショック時の暴落率(x1.1)を保有株式にかける → リスク(円)
  5. リスクを軽減する方法 → 方法
    1. 同時に保有する株式の評価額を一定の値以内に収める → 保有株式の評価額(円/瞬間)
  6. 入力する指値をいくらにするか → 指値(円/株式)
  7. システム構築後,計算や結果の確認に要する時間はどの程度なら許容できるか → 運用時間(時/週 or 時/日)
    1. システムの構築に要する時間はどの程度なら許容できるか → システム構築時間(時/システム)
    2. システムの構築に要する期間はどの程度なら許容できるか → システム構築期間(日/システム)
    3. システムの運用周期,スケジュールを明確にする → 7.1, 7.2 の決定後に制定する
  8. 予想が外れた場合の処理方法 → 方法
    1. 再度予想を行い,上がる見込み予想がついた場合は一定期間保有し売却を目指す → 一定期間(週)
      1. 一定期間はどの程度にするか → TBD
  9. 実際の運用に入るための予想の的中率はどの程度必要か → 的中率(割合)

課題検討

1. 株式を保有する期間と更新頻度

G: Good, B: Bad, I: Info

期間が長い場合

  • B 一度に保有する株式が多くなるため,リスクが高い
  • B 学習したデータとの因果が失われる
  • B 利益を上げるのに時間を要するため,総利益が小さくなる
  • G 運用するのに要する時間が少ない
  • B サンプル数が少ないと確率が収束しない
  • I 株式の保有期間と確認頻度は別で考えるべき
  • G 株価が指値に到達するチャンス(日数)が多い

技術的制約・自由

  • データを集約処理するため期間は 1 周間単位が望ましい
  • データの短期的な周期性(曜日など)を無視するため,1 周間単位が望ましい
  • データは一日単位で処理したものを集約計算するため
  • 予想元となるデータと,予想先の日付の間の時間が長いことは問題ない(的中率を最優先)

結論

  • 株式の保有期間は原則 1 週間とする
  • これにともなって,更新頻度も 1 回/週とする
  • 仮に予想元のデータから予想する日付が 1 ヶ月先だった場合,購入する日付を遅らせることで保有期間を短くする
2. 手数料

規定の手数料

スタンダードプラン アクティブプラン
1 注文の約定代金 手数料 1 日の約定代金合計額 手数料
5 万円まで 50 円(税込 55 円)
10 万円まで 90 円(税込 99 円) 10 万円まで 0 円
20 万円まで 105 円(税込 115 円 20 万円まで
50 万円まで 250 円(税込 275 円) 50 万円まで
100 万円まで 487 円(税込 535 円) 100 万円まで 762 円(税込 838 円)
150 万円まで 582 円(税込 640 円) 以降 100 万円増加毎に 400 円(税込 440 円)ずつ増加
  • 手数料無料で済めばそれが最も望ましい.
  • 単一の取引に注目した場合
    • 単位数が 100 株だと仮定すると,50 万円以下の取引は 5000 円/株 以下の株式の取引である.
    • 5000 円/株を上回る価格の株を取引する場合,10000 円/株 以下であればスタンダードプランのほうが安い.
    • 単位数である 100 株の取引だと仮定した場合
      • 手数料無料の範囲での利益は
        • 株価が 約 110%になると仮定: 4545 円/株 →5000 円/株 で 最大 45500 円の利益
        • 株価が 約 101%になると仮定: 4950 円/株 →5000 円/株 で 最大 5000 円 の利益
        • 株価が 約 110%になると仮定: 909 円/株 → 1000 円/株 で 9100 円の利益
        • 株価が 約 101%になると仮定: 990 円/株 右 10000 円/株で 1000 円の利益
        • (補足)
          • (1) 利益r = 100株 x 成長率p x 元の株価q
          • (2) 500000 >= 取引額s = 100株 x (成長率p + 1) x 元の株価q
          • (2)' 5000 / 元の株価q >= (成長率p +1)
    • 単位数の n 倍の取引だと仮定した場合
      • (3) n <= (5000 / 元の株価q) / (成長率p+1)
  • 一日に複数の取引が行われると仮定した場合
    • TBD

結論

  • 原則アクティブプランでの運用とする
  • 指値を入れる前にツールを持ちいて様々なパターンの手数料を計算し,最適なプランへの変更を行う
3. 求める利益 (円/週)
  • 前述の手数料で計算したとおり,手数料無料の範囲では成長率 10%と仮定しても利益は約 45000 円
    • この取引は 50 万円単位の大きな取引なので,毎週行うことは現実的でなく,またリスクも大きい
  • 成長率 3%, 1500 円/株, 単位数の取引を仮定した場合,利益は 4500 円
    • 毎週これを達成した場合,4500 円/週 = 18000 円/月 = 216000 円/年 の利益となる
    • 安定してこれを達成することは困難であるが,これが可能であれば単位数を n 倍することで利益も約 n 倍となる

結論

  • 4500 円/週を目指す
  • 成長率 3%, 1500 円/株, 単位数の取引, に相当
4. リスクを定量的に評価する
  • リーマン・ショック時の暴落率(x1.1)を保有株式にかける → リスク(円)
    • リーマン・ショック時の暴落率は 約 42%
    • (4) リスク円R = 元の株価q x 0.46 x 保有株式数c
  • 株式を購入する際の価格を基準として,保有株すべてのリスクを評価する
    • (5) 総リスク円 Rs = Σリスク円R
5. リスクを軽減する方法
  • 総リスク円を一定の金額以内に収める → いくらにするか?(円)
    • 株用の資産に対する割合で動的に決定する → 株用の資産は?(円) 割合は?(%)
      • 株用の資産は総資産の 3 割以内で動的に上限を決定する
      • 総リスク円の株用資産に対する割合は最大 46%とする
        • 想定リスク%(=46%)と相殺して株用資産以内に収まる

上記を踏まえた具体的な例

例 1

  • 総資産が 200 万円
    • 株用の資産は最大 60 万円
      • 総リスク円は最大 27.6 万円
        • 元の株価の総額は 60 万円以内

例 2

  • 総資産が 400 万円
    • 株用の資産は最大 120 万円
      • 総リスク円は最大 55.2 万円
        • 元の株価の総額は 120 万円以内
6. 入力する指値をいくらにするか(円/株式)
  • 一週間単位で指値を設定する場合
    • リスクを恐れて低めの指値を設定すると,想定する株価に到達する前に売れてしまう
    • 利益を求めて高めの指値を設定すると,想定する株価に達しない場合,利益が出るのに売れてしまう
  • 目標とする利益は前述の通り 3%の成長率に対するもの
    • 最低限 3%の成長率で売れれば嬉しい
    • 予想される成長率が 50%なのに 3%で売るのは愚か
      • 予想される成長率に対して動的に指値を決定するべき
      • (6) 補正成長率P' = 0.03 ( 0.05 < 予想成長率Pp < 0.10)
      • ; 補正成長率P = 予想成長率Pp x 0.3 (0.10 <= 予想成長率Pp)
      • (7) 指値 v = 元の株価 q \* 補正成長率 P'

結論

  • 予想成長率が 5%以上のものを対象として購入を行う(前提)
  • 式(7)に従って指値を決定する
7. 運用に要する時間(時/週 or 時/日)
  • 準備なしに割り当てられる空いている時間
    • 平日
      • 仕事帰りの移動時間(15 分@スマホ/日)
      • 帰宅後の時間(2 時間@PC/週)
    • 土日
      • 3 時間@PC/土日

→ 毎日スマホで進捗を確認しつつ,土日に次回の予想を確認し,指値の設定を行う

システム構築時間(時/システム)

  1. 手動のデータ分析
    1. データ処理の設計(4 時間)
    2. データの収集 (DONE)
    3. データの前処理 (4 時間)
    4. データの分析 (4 時間)
    5. 調整 (4 時間)
    6. 1.1~1.5 (全部で 2 周する想定)
  2. 自動化,システム化
    1. データ処理の再設計(8 時間)
    2. データの収集(8 時間)
    3. データの前処理(4 時間)
    4. データの分析(4 時間)
    5. テスト(4 時間)
    6. 調整(4 時間)
    7. 最終テスト(4 時間)
  3. PoC
    1. 2 週間,実際の取引を行わずにテスト(2.7 のテストで実施)
工程 時間
1.手動分析 32h
2.自動化 36h
3.PoC 自動化に含む
総計 68h

システム構築期間(日/システム)

システムの運用周期,スケジュール

astock's People

Contributors

minato-ep avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.