├── .github └── workflows │ └── python-app.yml ├── .gitignore ├── LICENSE ├── README.md ├── docker-compose.yml ├── docker_images └── jupyter │ └── Dockerfile └── work ├── hyper_parameter_tuning.ipynb ├── non_stationarity_score.ipynb ├── p_mean.ipynb ├── richmanbtc_backtest.png └── tutorial.ipynb /.github/workflows/python-app.yml: -------------------------------------------------------------------------------- 1 | name: Build Docker image 2 | 3 | on: push 4 | 5 | jobs: 6 | build: 7 | runs-on: ubuntu-latest 8 | steps: 9 | - uses: actions/checkout@v3 10 | - run: docker-compose build 11 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .ipynb_checkpoints 2 | *.pkl 3 | model*.xz 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Creative Commons Legal Code 2 | 3 | CC0 1.0 Universal 4 | 5 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE 6 | LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN 7 | ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS 8 | INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES 9 | REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS 10 | PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM 11 | THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED 12 | HEREUNDER. 13 | 14 | Statement of Purpose 15 | 16 | The laws of most jurisdictions throughout the world automatically confer 17 | exclusive Copyright and Related Rights (defined below) upon the creator 18 | and subsequent owner(s) (each and all, an "owner") of an original work of 19 | authorship and/or a database (each, a "Work"). 20 | 21 | Certain owners wish to permanently relinquish those rights to a Work for 22 | the purpose of contributing to a commons of creative, cultural and 23 | scientific works ("Commons") that the public can reliably and without fear 24 | of later claims of infringement build upon, modify, incorporate in other 25 | works, reuse and redistribute as freely as possible in any form whatsoever 26 | and for any purposes, including without limitation commercial purposes. 27 | These owners may contribute to the Commons to promote the ideal of a free 28 | culture and the further production of creative, cultural and scientific 29 | works, or to gain reputation or greater distribution for their Work in 30 | part through the use and efforts of others. 31 | 32 | For these and/or other purposes and motivations, and without any 33 | expectation of additional consideration or compensation, the person 34 | associating CC0 with a Work (the "Affirmer"), to the extent that he or she 35 | is an owner of Copyright and Related Rights in the Work, voluntarily 36 | elects to apply CC0 to the Work and publicly distribute the Work under its 37 | terms, with knowledge of his or her Copyright and Related Rights in the 38 | Work and the meaning and intended legal effect of CC0 on those rights. 39 | 40 | 1. Copyright and Related Rights. A Work made available under CC0 may be 41 | protected by copyright and related or neighboring rights ("Copyright and 42 | Related Rights"). Copyright and Related Rights include, but are not 43 | limited to, the following: 44 | 45 | i. the right to reproduce, adapt, distribute, perform, display, 46 | communicate, and translate a Work; 47 | ii. moral rights retained by the original author(s) and/or performer(s); 48 | iii. publicity and privacy rights pertaining to a person's image or 49 | likeness depicted in a Work; 50 | iv. rights protecting against unfair competition in regards to a Work, 51 | subject to the limitations in paragraph 4(a), below; 52 | v. rights protecting the extraction, dissemination, use and reuse of data 53 | in a Work; 54 | vi. database rights (such as those arising under Directive 96/9/EC of the 55 | European Parliament and of the Council of 11 March 1996 on the legal 56 | protection of databases, and under any national implementation 57 | thereof, including any amended or successor version of such 58 | directive); and 59 | vii. other similar, equivalent or corresponding rights throughout the 60 | world based on applicable law or treaty, and any national 61 | implementations thereof. 62 | 63 | 2. Waiver. To the greatest extent permitted by, but not in contravention 64 | of, applicable law, Affirmer hereby overtly, fully, permanently, 65 | irrevocably and unconditionally waives, abandons, and surrenders all of 66 | Affirmer's Copyright and Related Rights and associated claims and causes 67 | of action, whether now known or unknown (including existing as well as 68 | future claims and causes of action), in the Work (i) in all territories 69 | worldwide, (ii) for the maximum duration provided by applicable law or 70 | treaty (including future time extensions), (iii) in any current or future 71 | medium and for any number of copies, and (iv) for any purpose whatsoever, 72 | including without limitation commercial, advertising or promotional 73 | purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each 74 | member of the public at large and to the detriment of Affirmer's heirs and 75 | successors, fully intending that such Waiver shall not be subject to 76 | revocation, rescission, cancellation, termination, or any other legal or 77 | equitable action to disrupt the quiet enjoyment of the Work by the public 78 | as contemplated by Affirmer's express Statement of Purpose. 79 | 80 | 3. Public License Fallback. Should any part of the Waiver for any reason 81 | be judged legally invalid or ineffective under applicable law, then the 82 | Waiver shall be preserved to the maximum extent permitted taking into 83 | account Affirmer's express Statement of Purpose. In addition, to the 84 | extent the Waiver is so judged Affirmer hereby grants to each affected 85 | person a royalty-free, non transferable, non sublicensable, non exclusive, 86 | irrevocable and unconditional license to exercise Affirmer's Copyright and 87 | Related Rights in the Work (i) in all territories worldwide, (ii) for the 88 | maximum duration provided by applicable law or treaty (including future 89 | time extensions), (iii) in any current or future medium and for any number 90 | of copies, and (iv) for any purpose whatsoever, including without 91 | limitation commercial, advertising or promotional purposes (the 92 | "License"). The License shall be deemed effective as of the date CC0 was 93 | applied by Affirmer to the Work. Should any part of the License for any 94 | reason be judged legally invalid or ineffective under applicable law, such 95 | partial invalidity or ineffectiveness shall not invalidate the remainder 96 | of the License, and in such case Affirmer hereby affirms that he or she 97 | will not (i) exercise any of his or her remaining Copyright and Related 98 | Rights in the Work or (ii) assert any associated claims and causes of 99 | action with respect to the Work, in either case contrary to Affirmer's 100 | express Statement of Purpose. 101 | 102 | 4. Limitations and Disclaimers. 103 | 104 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 105 | surrendered, licensed or otherwise affected by this document. 106 | b. Affirmer offers the Work as-is and makes no representations or 107 | warranties of any kind concerning the Work, express, implied, 108 | statutory or otherwise, including without limitation warranties of 109 | title, merchantability, fitness for a particular purpose, non 110 | infringement, or the absence of latent or other defects, accuracy, or 111 | the present or absence of errors, whether or not discoverable, all to 112 | the greatest extent permissible under applicable law. 113 | c. Affirmer disclaims responsibility for clearing rights of other persons 114 | that may apply to the Work or any use thereof, including without 115 | limitation any person's Copyright and Related Rights in the Work. 116 | Further, Affirmer disclaims responsibility for obtaining any necessary 117 | consents, permissions or other rights required for any use of the 118 | Work. 119 | d. Affirmer understands and acknowledges that Creative Commons is not a 120 | party to this document and has no duty or obligation with respect to 121 | this CC0 or use of the Work. 122 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | mlbotのチュートリアル。 2 | 機械学習で仮想通貨の自動売買をするチュートリアルです。 3 | 4 | ## git clone 5 | 6 | ```bash 7 | git clone https://github.com/richmanbtc/mlbot_tutorial.git 8 | ``` 9 | 10 | ## Jupyterの起動 11 | 12 | ```bash 13 | cd mlbot_tutorial 14 | docker-compose up -d 15 | ``` 16 | 17 | ## Jupyterを開く 18 | 19 | http://localhost:8888 をブラウザで開く。 20 | 21 | ## チュートリアルを開く 22 | 23 | Jupyter内でwork/tutorial.ipynbを開く 24 | 25 | ## チュートリアルの詳しい解説 26 | 27 | 環境構築方法など 28 | 29 | [機械学習で仮想通貨取引をするチュートリアル。python](https://qiita.com/richmanbtc/items/05916384bf9d2b1e2f35) 30 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3" 2 | services: 3 | notebook: 4 | build: ./docker_images/jupyter 5 | ports: 6 | - "8888:8888" 7 | environment: 8 | - JUPYTER_ENABLE_LAB=yes 9 | volumes: 10 | - ./work:/home/jovyan/work 11 | command: start-notebook.sh --NotebookApp.token='' 12 | -------------------------------------------------------------------------------- /docker_images/jupyter/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM jupyter/datascience-notebook:ecabcb829fe0 2 | 3 | USER root 4 | 5 | # install required libraries 6 | 7 | RUN apt-get update \ 8 | && apt-get install -y \ 9 | fonts-ipaexfont 10 | 11 | RUN cd /tmp \ 12 | && wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz \ 13 | && tar -xvf ta-lib-0.4.0-src.tar.gz \ 14 | && cd ta-lib \ 15 | && ./configure --prefix=/usr \ 16 | && (make -j4 || make) \ 17 | && make install \ 18 | && rm -rf /tmp/* 19 | 20 | RUN pip install --no-cache-dir \ 21 | ccxt==1.53.30 \ 22 | lightgbm==3.2.1 \ 23 | TA-Lib==0.4.21 \ 24 | "git+https://github.com/richmanbtc/crypto_data_fetcher.git@v0.0.15#egg=crypto_data_fetcher" 25 | 26 | # matplotlibで日本語を使えるようにする 27 | RUN sed -i '/font\.family/d' /opt/conda/lib/python3.9/site-packages/matplotlib/mpl-data/matplotlibrc 28 | RUN echo "font.family: IPAexGothic" >> /opt/conda/lib/python3.9/site-packages/matplotlib/mpl-data/matplotlibrc 29 | RUN rm -rf /home/jovyan/.cache 30 | 31 | USER jovyan 32 | -------------------------------------------------------------------------------- /work/hyper_parameter_tuning.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "id": "5bf1450b-8362-49ec-9449-e1ca6ffb2c2b", 6 | "metadata": {}, 7 | "source": [ 8 | "# ハイパーパラメータチューニング (上級チュートリアル)\n", 9 | "\n", 10 | "執筆中" 11 | ] 12 | }, 13 | { 14 | "cell_type": "code", 15 | "execution_count": null, 16 | "id": "f1ec89a6-24b3-41cf-ad5b-5fc151d87fe3", 17 | "metadata": {}, 18 | "outputs": [], 19 | "source": [] 20 | } 21 | ], 22 | "metadata": { 23 | "kernelspec": { 24 | "display_name": "Python 3 (ipykernel)", 25 | "language": "python", 26 | "name": "python3" 27 | }, 28 | "language_info": { 29 | "codemirror_mode": { 30 | "name": "ipython", 31 | "version": 3 32 | }, 33 | "file_extension": ".py", 34 | "mimetype": "text/x-python", 35 | "name": "python", 36 | "nbconvert_exporter": "python", 37 | "pygments_lexer": "ipython3", 38 | "version": "3.9.5" 39 | } 40 | }, 41 | "nbformat": 4, 42 | "nbformat_minor": 5 43 | } 44 | -------------------------------------------------------------------------------- /work/non_stationarity_score.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "id": "9b366e41-270f-4e74-9ee3-603cdc359084", 6 | "metadata": {}, 7 | "source": [ 8 | "# richman non-stationarity score (上級チュートリアル)\n", 9 | "\n", 10 | "このチュートリアルでは、筆者が考案したrichman non-stationarity scoreを紹介します。\n", 11 | "特徴量選択に使えます。\n", 12 | "\n", 13 | "## 準備\n", 14 | "\n", 15 | "df_features.pklは、https://github.com/richmanbtc/mlbot_tutorial/blob/master/work/tutorial.ipynb を実行して作ってください。\n", 16 | "\n", 17 | "以下では、richman non-stationarity scoreを使い、特徴量の非定常性を測っています。\n", 18 | "richman non-stationarity scoreはrichmanbtcが考案した非定常性の度合いを測る指標です。\n", 19 | "\n", 20 | "特徴量の定常性の度合いが低いと、汎化性能が悪化する可能性があるので、\n", 21 | "scoreが低くなるように特徴量エンジニアリングを行います。\n", 22 | "0.3以下が目安です。\n", 23 | "\n", 24 | "## 特徴量分布の定常性の度合いが低いと汎化性能が悪化する理由\n", 25 | "\n", 26 | "特徴量分布が定常だと、未来でも同じ分布になることが期待できます。\n", 27 | "一方、定常でないと、時刻によって特徴量分布が変わるので、\n", 28 | "未来の特徴量分布が学習データの特徴量分布と異なる可能性があります。\n", 29 | "その場合、学習データに無いデータを予測することになるので、\n", 30 | "性能が劣化する可能性があります。\n", 31 | "\n", 32 | "## richman non-stationarity scoreの計算方法\n", 33 | "\n", 34 | "計算に必要なパラメータ: 回帰モデル、CVのfold数\n", 35 | "\n", 36 | "1. シャッフル付きKFold CVで以下の2, 3を計算し、R2の平均をrichman non-stationarity scoreとする\n", 37 | "2. 特徴量からサンプルインデックス(時刻でも良い)を与えられた回帰モデルで学習\n", 38 | "3. validationデータに対して、サンプルインデックスを予測し、予測精度をR2で評価\n", 39 | "\n", 40 | "この例では回帰モデルはデフォルトパラメータのlgbm、CVのfolds数は2を選んでいます。\n", 41 | "\n", 42 | "## richman non-stationarity scoreの特徴量重要度\n", 43 | "\n", 44 | "ツリー系モデルを使うと、重要度を表示できるので便利です。\n", 45 | "重要度の高いものが定常性を劣化させていることがわかります。\n", 46 | "\n", 47 | "## 参考リンク\n", 48 | "\n", 49 | "- [時系列予測での特徴量選択](https://note.com/btcml/n/na4376bc5c336)\n", 50 | "- [Kaggleで役立つAdversarial Validationとは](https://www.acceluniverse.com/blog/developers/2020/01/kaggleadversarial-validation.html)\n" 51 | ] 52 | }, 53 | { 54 | "cell_type": "code", 55 | "execution_count": 4, 56 | "id": "d245eb71-138b-4877-983f-b109c61af84f", 57 | "metadata": {}, 58 | "outputs": [], 59 | "source": [ 60 | "import math\n", 61 | "\n", 62 | "import ccxt\n", 63 | "from crypto_data_fetcher.gmo import GmoFetcher\n", 64 | "import joblib\n", 65 | "import lightgbm as lgb\n", 66 | "import matplotlib.pyplot as plt\n", 67 | "import numba\n", 68 | "import numpy as np\n", 69 | "import pandas as pd\n", 70 | "from scipy.stats import ttest_1samp\n", 71 | "import seaborn as sns\n", 72 | "import talib\n", 73 | "\n", 74 | "from sklearn.ensemble import BaggingRegressor\n", 75 | "from sklearn.linear_model import RidgeCV\n", 76 | "from sklearn.model_selection import cross_val_score, KFold, TimeSeriesSplit" 77 | ] 78 | }, 79 | { 80 | "cell_type": "code", 81 | "execution_count": 5, 82 | "id": "8aec8b91-48b7-4739-96a2-9fabfb913cd9", 83 | "metadata": {}, 84 | "outputs": [], 85 | "source": [ 86 | "features = sorted([\n", 87 | " 'ADX',\n", 88 | " 'ADXR',\n", 89 | " 'APO',\n", 90 | " 'AROON_aroondown',\n", 91 | " 'AROON_aroonup',\n", 92 | " 'AROONOSC',\n", 93 | " 'CCI',\n", 94 | " 'DX',\n", 95 | " 'MACD_macd',\n", 96 | " 'MACD_macdsignal',\n", 97 | " 'MACD_macdhist',\n", 98 | " 'MFI',\n", 99 | "# 'MINUS_DI',\n", 100 | "# 'MINUS_DM',\n", 101 | " 'MOM',\n", 102 | "# 'PLUS_DI',\n", 103 | "# 'PLUS_DM',\n", 104 | " 'RSI',\n", 105 | " 'STOCH_slowk',\n", 106 | " 'STOCH_slowd',\n", 107 | " 'STOCHF_fastk',\n", 108 | "# 'STOCHRSI_fastd',\n", 109 | " 'ULTOSC',\n", 110 | " 'WILLR',\n", 111 | "# 'ADOSC',\n", 112 | "# 'NATR',\n", 113 | " 'HT_DCPERIOD',\n", 114 | " 'HT_DCPHASE',\n", 115 | " 'HT_PHASOR_inphase',\n", 116 | " 'HT_PHASOR_quadrature',\n", 117 | " 'HT_TRENDMODE',\n", 118 | " 'BETA',\n", 119 | " 'LINEARREG',\n", 120 | " 'LINEARREG_ANGLE',\n", 121 | " 'LINEARREG_INTERCEPT',\n", 122 | " 'LINEARREG_SLOPE',\n", 123 | " 'STDDEV',\n", 124 | " 'BBANDS_upperband',\n", 125 | " 'BBANDS_middleband',\n", 126 | " 'BBANDS_lowerband',\n", 127 | " 'DEMA',\n", 128 | " 'EMA',\n", 129 | " 'HT_TRENDLINE',\n", 130 | " 'KAMA',\n", 131 | " 'MA',\n", 132 | " 'MIDPOINT',\n", 133 | " 'T3',\n", 134 | " 'TEMA',\n", 135 | " 'TRIMA',\n", 136 | " 'WMA',\n", 137 | "])" 138 | ] 139 | }, 140 | { 141 | "cell_type": "code", 142 | "execution_count": 7, 143 | "id": "f9ae7805-26d3-4c66-90b3-b2b9319e262a", 144 | "metadata": {}, 145 | "outputs": [ 146 | { 147 | "name": "stdout", 148 | "output_type": "stream", 149 | "text": [ 150 | "dfは特徴量が入ったDataFrame\n", 151 | "featuresは使う特徴量カラム名配列\n", 152 | "重要度表示。重要度が高いものは汎化性能に悪影響を与える可能性がある\n" 153 | ] 154 | }, 155 | { 156 | "data": { 157 | "image/png": "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\n", 158 | "text/plain": [ 159 | "
" 160 | ] 161 | }, 162 | "metadata": { 163 | "needs_background": "light" 164 | }, 165 | "output_type": "display_data" 166 | }, 167 | { 168 | "name": "stdout", 169 | "output_type": "stream", 170 | "text": [ 171 | "スコア計算。スコアが高いと汎化性能が悪い可能性ある (目安は0.3以下)\n", 172 | "scores [0.45376922 0.45739519]\n", 173 | "score mean, std 0.4555822076285536 0.0018129834360360864\n" 174 | ] 175 | } 176 | ], 177 | "source": [ 178 | "df = pd.read_pickle('df_features.pkl')\n", 179 | "\n", 180 | "print('dfは特徴量が入ったDataFrame')\n", 181 | "print('featuresは使う特徴量カラム名配列')\n", 182 | "\n", 183 | "print('重要度表示。重要度が高いものは汎化性能に悪影響を与える可能性がある')\n", 184 | "model = lgb.LGBMRegressor(n_jobs=-1, random_state=1)\n", 185 | "model.fit(df[features], np.arange(df.shape[0]))\n", 186 | "lgbm_adv_importance = model.feature_importances_\n", 187 | "feature_imp = pd.DataFrame(sorted(zip(model.feature_importances_, features)), columns=['Value','Feature'])\n", 188 | "plt.figure(figsize=(20, 40))\n", 189 | "sns.barplot(x=\"Value\", y=\"Feature\", data=feature_imp.sort_values(by=\"Value\", ascending=False))\n", 190 | "plt.title('LightGBM Features adv val (avg over folds)')\n", 191 | "plt.tight_layout()\n", 192 | "plt.show()\n", 193 | "\n", 194 | "print('スコア計算。スコアが高いと汎化性能が悪い可能性ある (目安は0.3以下)')\n", 195 | "cv = KFold(n_splits=2, shuffle=True, random_state=0)\n", 196 | "scores = cross_val_score(model, df[features], np.arange(df.shape[0]), scoring='r2', cv=cv)\n", 197 | "print('scores', scores)\n", 198 | "print('score mean, std', np.mean(scores), np.std(scores))" 199 | ] 200 | }, 201 | { 202 | "cell_type": "code", 203 | "execution_count": null, 204 | "id": "f46d2cb6-e7f2-4abf-9b3d-203ec350546c", 205 | "metadata": {}, 206 | "outputs": [], 207 | "source": [] 208 | } 209 | ], 210 | "metadata": { 211 | "kernelspec": { 212 | "display_name": "Python 3 (ipykernel)", 213 | "language": "python", 214 | "name": "python3" 215 | }, 216 | "language_info": { 217 | "codemirror_mode": { 218 | "name": "ipython", 219 | "version": 3 220 | }, 221 | "file_extension": ".py", 222 | "mimetype": "text/x-python", 223 | "name": "python", 224 | "nbconvert_exporter": "python", 225 | "pygments_lexer": "ipython3", 226 | "version": "3.9.5" 227 | } 228 | }, 229 | "nbformat": 4, 230 | "nbformat_minor": 5 231 | } 232 | -------------------------------------------------------------------------------- /work/p_mean.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "id": "afc716db-3fa3-48de-8192-08e4914beb35", 6 | "metadata": {}, 7 | "source": [ 8 | "# p平均法 (執筆中)\n", 9 | "\n", 10 | "私が独自に考えた手法です。\n", 11 | "\n", 12 | "トレード成績の検定は、普通はt検定とかをやると思います。\n", 13 | "[ファイナンス機械学習―金融市場分析を変える機械学習アルゴリズムの理論と実践](https://www.amazon.co.jp/dp/4322134637)で提唱されているPSR(Probabilistic sharpe ratio)やDSR(Deflated sharpe ratio)などもありえます。\n", 14 | "\n", 15 | "これらの手法の問題は、\n", 16 | "リターンの長期的な変化に弱いことです。\n", 17 | "例えば、3年前はすごいプラスだったけど、直近1年はマイナスだった場合、未来で勝てるか怪しいですが、\n", 18 | "これらの手法を使うと、安定して儲かるとみなされてしまう可能性があります。\n", 19 | "サンプルの順番を考慮していないからです。\n", 20 | "\n", 21 | "この問題を緩和するためにp平均法を考えました。\n", 22 | "以下のような手法です。\n", 23 | "p値平均は低いほうが良いです。\n", 24 | "\n", 25 | "1. リターン時系列をN個の期間に分割\n", 26 | "2. 各期間でt検定してp値を計算する\n", 27 | "3. 得られたN個のp値の平均を取る\n", 28 | "4. p値の平均を判定に使う\n", 29 | "\n", 30 | "詳しく分析できていませんが、\n", 31 | "一つでも大きいpがあると、\n", 32 | "p平均が大きくなってしまうので、\n", 33 | "すべての期間で安定して儲かる場合のみ有意になる点が、\n", 34 | "ポイントかなと思います。\n", 35 | "\n", 36 | "p平均法はcalc_p_meanで、\n", 37 | "p平均法のエラー率はcalc_p_mean_type1_error_rateで計算しています。\n", 38 | "\n", 39 | "### p平均法がなぜ問題を緩和するのか\n", 40 | "\n", 41 | "そもそも、リターンが長期的に変化する場合、t検定を適用することは不適切です。\n", 42 | "t検定はリターンが時刻によらず、同じ分布から独立にサンプルされることを仮定しているからです。\n", 43 | "p平均法でも最終的にはt検定を利用しているので、この不適切さが解消されるわけではありません。\n", 44 | "しかし、期間ごとにt検定を適用しているので、\n", 45 | "短い期間内では同じ分布からサンプルされるという仮定を満たしやすくなり、\n", 46 | "少しは不適切さが解消されると思います。\n", 47 | "\n", 48 | "### 分布シフトの問題\n", 49 | "\n", 50 | "p平均法は期間ごとに分けて検定するので、\n", 51 | "様々な時期(ブル相場、ベア相場、ショックなど)で\n", 52 | "\n", 53 | "例えば、リーマンショックのようなイベントが学習データに無い状態で、\n", 54 | "リーマンショックを経験したら、負けます。\n", 55 | "ストレスシナリオを\n", 56 | "\n", 57 | "### 改良ポイント\n", 58 | "\n", 59 | "#### 含み損によるゼロカットの考慮\n", 60 | "\n", 61 | "説明をシンプルにするために、\n", 62 | "含み損によるゼロカットを考慮していません。\n", 63 | "バックテストのコードを修正すれば対応できると思います。\n", 64 | "レバレッジを決めるヒントになると思います。\n" 65 | ] 66 | }, 67 | { 68 | "cell_type": "code", 69 | "execution_count": null, 70 | "id": "79e416f9-900c-425f-9395-19fbf0e72f7e", 71 | "metadata": {}, 72 | "outputs": [], 73 | "source": [] 74 | } 75 | ], 76 | "metadata": { 77 | "kernelspec": { 78 | "display_name": "Python 3 (ipykernel)", 79 | "language": "python", 80 | "name": "python3" 81 | }, 82 | "language_info": { 83 | "codemirror_mode": { 84 | "name": "ipython", 85 | "version": 3 86 | }, 87 | "file_extension": ".py", 88 | "mimetype": "text/x-python", 89 | "name": "python", 90 | "nbconvert_exporter": "python", 91 | "pygments_lexer": "ipython3", 92 | "version": "3.9.5" 93 | } 94 | }, 95 | "nbformat": 4, 96 | "nbformat_minor": 5 97 | } 98 | -------------------------------------------------------------------------------- /work/richmanbtc_backtest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/richmanbtc/mlbot_tutorial/227af4bb3b29e756752f83fa9184904224f7cd15/work/richmanbtc_backtest.png --------------------------------------------------------------------------------