102102< li class ="toctree-l1 "> < a class ="reference internal " href ="btgym.html#module-btgym.dataserver "> btgym.dataserver module</ a > </ li >
103103< li class ="toctree-l1 "> < a class ="reference internal " href ="btgym.html#module-btgym.server "> btgym.server module</ a > </ li >
104104< li class ="toctree-l1 "> < a class ="reference internal " href ="btgym.html#module-btgym.spaces "> btgym.spaces module</ a > </ li >
105- < li class ="toctree-l1 "> < a class ="reference internal " href ="btgym.html#module-btgym. strategy "> btgym.strategy module </ a > </ li >
105+ < li class ="toctree-l1 "> < a class ="reference internal " href ="btgym.strategy.html "> btgym.strategy package </ a > </ li >
106106< li class ="toctree-l1 "> < a class ="reference internal " href ="btgym.monitor.html "> btgym.monitor package</ a > </ li >
107107< li class ="toctree-l1 "> < a class ="reference internal " href ="btgym.rendering.html "> btgym.rendering package</ a > </ li >
108108</ ul >
@@ -196,6 +196,7 @@ <h1>Package Description<a class="headerlink" href="#package-description" title="
196196</ div >
197197< div class ="section " id ="installation ">
198198< h1 > Installation< a class ="headerlink " href ="#installation " title ="Permalink to this headline "> ¶</ a > </ h1 >
199+ < p > It is highly recommended to run BTGym in designated virtual environment.</ p >
199200< p > Clone or copy btgym repository to local disk, cd to it and run: < cite > pip install -e .</ cite > to install package and all dependencies:</ p >
200201< div class ="highlight-default "> < div class ="highlight "> < pre > < span > </ span > < span class ="n "> git</ span > < span class ="n "> clone</ span > < span class ="n "> https</ span > < span class ="p "> :</ span > < span class ="o "> //</ span > < span class ="n "> github</ span > < span class ="o "> .</ span > < span class ="n "> com</ span > < span class ="o "> /</ span > < span class ="n "> Kismuz</ span > < span class ="o "> /</ span > < span class ="n "> btgym</ span > < span class ="o "> .</ span > < span class ="n "> git</ span >
201202
@@ -212,6 +213,14 @@ <h1>Installation<a class="headerlink" href="#installation" title="Permalink to t
212213< span class ="n "> pip</ span > < span class ="n "> install</ span > < span class ="o "> --</ span > < span class ="n "> upgrade</ span > < span class ="o "> -</ span > < span class ="n "> e</ span > < span class ="o "> .</ span >
213214</ pre > </ div >
214215</ div >
216+ < dl class ="docutils ">
217+ < dt > Note:</ dt >
218+ < dd > < p class ="first "> BTGym requres Matplotlib version 2.0.2, downgrade your installation if you have version 2.1:</ p >
219+ < div class ="last highlight-default "> < div class ="highlight "> < pre > < span > </ span > < span class ="n "> pip</ span > < span class ="n "> install</ span > < span class ="n "> matplotlib</ span > < span class ="o "> ==</ span > < span class ="mf "> 2.0</ span > < span class ="o "> .</ span > < span class ="mi "> 2</ span >
220+ </ pre > </ div >
221+ </ div >
222+ </ dd >
223+ </ dl >
215224</ div >
216225< div class ="section " id ="quickstart ">
217226< h1 > Quickstart< a class ="headerlink " href ="#quickstart " title ="Permalink to this headline "> ¶</ a > </ h1 >
@@ -225,9 +234,7 @@ <h1>Quickstart<a class="headerlink" href="#quickstart" title="Permalink to this
225234< div class ="highlight-default "> < div class ="highlight "> < pre > < span > </ span > < span class ="kn "> from</ span > < span class ="nn "> btgym</ span > < span class ="k "> import</ span > < span class ="n "> BTgymEnv</ span >
226235
227236< span class ="n "> MyEnvironment</ span > < span class ="o "> =</ span > < span class ="n "> BTgymEnv</ span > < span class ="p "> (</ span > < span class ="n "> filename</ span > < span class ="o "> =</ span > < span class ="s1 "> '../examples/data/DAT_ASCII_EURUSD_M1_2016.csv'</ span > < span class ="p "> ,</ span >
228- < span class ="n "> episode_len_days</ span > < span class ="o "> =</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span >
229- < span class ="n "> episode_len_hours</ span > < span class ="o "> =</ span > < span class ="mi "> 23</ span > < span class ="p "> ,</ span >
230- < span class ="n "> episode_len_minutes</ span > < span class ="o "> =</ span > < span class ="mi "> 55</ span > < span class ="p "> ,</ span >
237+ < span class ="n "> episode_duration</ span > < span class ="o "> =</ span > < span class ="p "> {</ span > < span class ="s1 "> 'days'</ span > < span class ="p "> :</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="s1 "> 'hours'</ span > < span class ="p "> :</ span > < span class ="mi "> 23</ span > < span class ="p "> ,</ span > < span class ="s1 "> 'minutes'</ span > < span class ="p "> :</ span > < span class ="mi "> 55</ span > < span class ="p "> },</ span >
231238 < span class ="n "> drawdown_call</ span > < span class ="o "> =</ span > < span class ="mi "> 50</ span > < span class ="p "> ,</ span >
232239 < span class ="n "> state_shape</ span > < span class ="o "> =</ span > < span class ="p "> (</ span > < span class ="mi "> 4</ span > < span class ="p "> ,</ span > < span class ="mi "> 20</ span > < span class ="p "> ),</ span >
233240 < span class ="n "> port</ span > < span class ="o "> =</ span > < span class ="mi "> 5555</ span > < span class ="p "> ,</ span >
@@ -240,9 +247,7 @@ <h1>Quickstart<a class="headerlink" href="#quickstart" title="Permalink to this
240247< span class ="kn "> from</ span > < span class ="nn "> btgym</ span > < span class ="k "> import</ span > < span class ="n "> BTgymEnv</ span >
241248
242249< span class ="n "> env_params</ span > < span class ="o "> =</ span > < span class ="nb "> dict</ span > < span class ="p "> (</ span > < span class ="n "> filename</ span > < span class ="o "> =</ span > < span class ="s1 "> '../examples/data/DAT_ASCII_EURUSD_M1_2016.csv'</ span > < span class ="p "> ,</ span >
243- < span class ="n "> episode_len_days</ span > < span class ="o "> =</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span >
244- < span class ="n "> episode_len_hours</ span > < span class ="o "> =</ span > < span class ="mi "> 23</ span > < span class ="p "> ,</ span >
245- < span class ="n "> episode_len_minutes</ span > < span class ="o "> =</ span > < span class ="mi "> 55</ span > < span class ="p "> ,</ span >
250+ < span class ="n "> episode_duration</ span > < span class ="o "> =</ span > < span class ="p "> {</ span > < span class ="s1 "> 'days'</ span > < span class ="p "> :</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="s1 "> 'hours'</ span > < span class ="p "> :</ span > < span class ="mi "> 23</ span > < span class ="p "> ,</ span > < span class ="s1 "> 'minutes'</ span > < span class ="p "> :</ span > < span class ="mi "> 55</ span > < span class ="p "> },</ span >
246251 < span class ="n "> drawdown_call</ span > < span class ="o "> =</ span > < span class ="mi "> 50</ span > < span class ="p "> ,</ span >
247252 < span class ="n "> state_shape</ span > < span class ="o "> =</ span > < span class ="p "> (</ span > < span class ="mi "> 20</ span > < span class ="p "> ,</ span > < span class ="mi "> 4</ span > < span class ="p "> ),</ span >
248253 < span class ="n "> port</ span > < span class ="o "> =</ span > < span class ="mi "> 5555</ span > < span class ="p "> ,</ span >
@@ -257,7 +262,7 @@ <h1>Quickstart<a class="headerlink" href="#quickstart" title="Permalink to this
257262< p > Maximum environment flexibility is achieved by explicitly defining and passing < cite > Dataset</ cite > and < cite > Cerebro</ cite > instances:</ p >
258263< div class ="highlight-default "> < div class ="highlight "> < pre > < span > </ span > < span class ="kn "> from</ span > < span class ="nn "> gym</ span > < span class ="k "> import</ span > < span class ="n "> spaces</ span >
259264< span class ="kn "> import</ span > < span class ="nn "> backtrader</ span > < span class ="k "> as</ span > < span class ="nn "> bt</ span >
260- < span class ="kn "> from</ span > < span class ="nn "> btgym</ span > < span class ="k "> import</ span > < span class ="n "> BTgymDataset</ span > < span class ="p "> ,</ span > < span class ="n "> BTgymStrategy </ span > < span class ="p "> ,</ span > < span class ="n "> BTgymEnv</ span >
265+ < span class ="kn "> from</ span > < span class ="nn "> btgym</ span > < span class ="k "> import</ span > < span class ="n "> BTgymDataset</ span > < span class ="p "> ,</ span > < span class ="n "> BTgymBaseStrategy </ span > < span class ="p "> ,</ span > < span class ="n "> BTgymEnv</ span >
261266
262267< span class ="n "> MyCerebro</ span > < span class ="o "> =</ span > < span class ="n "> bt</ span > < span class ="o "> .</ span > < span class ="n "> Cerebro</ span > < span class ="p "> ()</ span >
263268< span class ="n "> MyCerebro</ span > < span class ="o "> .</ span > < span class ="n "> addstrategy</ span > < span class ="p "> (</ span > < span class ="n "> BTgymStrategy</ span > < span class ="p "> ,</ span >
@@ -276,11 +281,8 @@ <h1>Quickstart<a class="headerlink" href="#quickstart" title="Permalink to this
276281< span class ="n "> MyDataset</ span > < span class ="o "> =</ span > < span class ="n "> BTgymDataset</ span > < span class ="p "> (</ span > < span class ="n "> filename</ span > < span class ="o "> =</ span > < span class ="s1 "> '../examples/data/DAT_ASCII_EURUSD_M1_2016.csv'</ span > < span class ="p "> ,</ span >
277282 < span class ="n "> start_weekdays</ span > < span class ="o "> =</ span > < span class ="p "> [</ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="mi "> 4</ span > < span class ="p "> ],</ span >
278283 < span class ="n "> start_00</ span > < span class ="o "> =</ span > < span class ="kc "> True</ span > < span class ="p "> ,</ span >
279- < span class ="n "> episode_len_days</ span > < span class ="o "> =</ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span >
280- < span class ="n "> episode_len_hours</ span > < span class ="o "> =</ span > < span class ="mi "> 23</ span > < span class ="p "> ,</ span >
281- < span class ="n "> episode_len_minutes</ span > < span class ="o "> =</ span > < span class ="mi "> 55</ span > < span class ="p "> ,</ span >
282- < span class ="n "> time_gap_days</ span > < span class ="o "> =</ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span >
283- < span class ="n "> time_gap_hours</ span > < span class ="o "> =</ span > < span class ="mi "> 5</ span > < span class ="p "> ,</ span >
284+ < span class ="n "> episode_duration</ span > < span class ="o "> =</ span > < span class ="p "> {</ span > < span class ="s1 "> 'days'</ span > < span class ="p "> :</ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span > < span class ="s1 "> 'hours'</ span > < span class ="p "> :</ span > < span class ="mi "> 23</ span > < span class ="p "> ,</ span > < span class ="s1 "> 'minutes'</ span > < span class ="p "> :</ span > < span class ="mi "> 55</ span > < span class ="p "> },</ span >
285+ < span class ="n "> time_gap</ span > < span class ="o "> =</ span > < span class ="p "> {</ span > < span class ="s1 "> 'hours'</ span > < span class ="p "> :</ span > < span class ="mi "> 5</ span > < span class ="p "> },</ span >
284286 < span class ="p "> )</ span >
285287
286288< span class ="n "> MyEnvironment</ span > < span class ="o "> =</ span > < span class ="n "> BTgymEnv</ span > < span class ="p "> (</ span > < span class ="n "> dataset</ span > < span class ="o "> =</ span > < span class ="n "> MyDataset</ span > < span class ="p "> ,</ span >
0 commit comments