Loading ...

使用ZB交易所请升级托管者

Author: 小草, Created: 2019-05-14 09:00:31, Updated: 2019-09-29 16:04:53

ZB交易所,API基地址更改,如有ZB交易所的,请升级托管者。

FMZ研究平台jupyter入门指南


FMZ最新加入了流行的jupyter notebook,帮助用户熟悉平台API以及进行策略研究,支持Python和JavaScript。本教程将简单介绍如何使用。

jupyter入口

<img src=“https://www.fmz.com/upload/asset/153483736bae2c2ba01.jpg” />

jupyter使用

jupyter将代码分成单元块,按住shift+enter可单独执行光标所在的单元格代码,程序的全局变量也会保存,不用每次都从头执行,非常方便调试。点击工具栏的加号可以添加单元格。jupyter功能强大灵活,具体使用可根据帮助自行摸索。

支持数据

支持商品期货、常见币种的OKEX期货现货、Bitfinex现货、BitMEX永续合约等,具体参考FMZ的行情工具:https://www.quantinfo.com/Tools/View/4/chart.html 。也可以在回测界面添加交易所时看到支持的数据。

<img src=“https://www.fmz.com/upload/asset/1efaf60b58c210b5c36.jpg”/>

常用的Python库

具体学习网上的资源很多,本教程不会详细介绍:

  • 科学计算:pandas,numpy
  • 画图:matplotlib,seaborn
  • 机器学习与统计:scipy等

回测环境

Python回测需要安装fmz包,研究平台已经自带。如果自己在本地使用,可参考 https://github.com/fmzquant/backtest_python

回测设置和初始化代码如下个单元格,回测参数以注释的形式放在代码开头,会自动识别。具体格式可在FMZ策略编辑界面设置好参数后,点击保存参数,复制即可。如果默认参数没有修改不会展示。

<img src=“https://www.fmz.com/upload/asset/1c112fe0943e4c25da5.jpg” />

'''
start: 2019-08-28 00:00:00
end: 2019-09-26 00:00:00
period: 1h
exchanges: [{"eid":"OKEX","currency":"BTC_USDT","stocks":0}]
'''
#上面注释是回测设置

from fmz import * # 导入所有FMZ函数
task = VCtx(__doc__) # 初始化

经过初始化后,直接在单元格中就可以正常调用FMZ所有回测可用的API了,首先,先获取一下账户信息。

exchange.GetAccount()
{'Balance': 20000.0, 'FrozenBalance': 0.0, 'Stocks': 0.0, 'FrozenStocks': 0.0}

此时处于回测环境,时间点还在设置的起始时间点,2019-08-28 00:00:00。用_D()获取时间看一下:

_D()
'2019-08-28 00:00:00'

此时可以获取ticker,K线等行情数据。模拟级回测无法获取真实的深度和成交历史,具体回测的细节参考:https://www.fmz.com/digest-topic/4009 以及FMZ文档。

exchange.GetTicker()
get_bars('BTC_USD_BITFINEX')
                  open        high         low       close      volume
2019-01-31   3529.7000   3574.8098   3482.0000   3503.8000   8572.2860
2019-02-01   3503.8000   3559.0000   3460.0000   3534.7705  10041.0990
2019-02-02   3534.9000   3581.0000   3498.7598   3564.2000  10889.8070
2019-02-03   3564.3000   3566.8000   3470.1000   3501.7388   7874.5483
2019-02-04   3501.7388   3522.7000   3475.3000   3490.4688   5213.2163
...                ...         ...         ...         ...         ...
2019-08-24  10408.0000  10427.0000   9893.8000  10154.0000   5409.2754
2019-08-25  10155.0000  10350.0000   9805.8000  10132.0000   5207.2773
2019-08-26  10133.0000  10675.0000  10133.0000  10377.0000   8979.0460
2019-08-27  10377.0000  10395.0000  10021.0000  10184.0000   4518.4727
2019-08-28  10189.0000  10370.0000   9570.0000   9727.4000  10406.3760

[210 rows x 5 columns]
get_bars('btc_futures_quarter_okex')
                open      high       low     close    volume
2019-01-30   3398.39   3469.06   3361.68   3410.98   2107001
2019-01-31   3377.20   3448.69   3345.00   3433.24   2431765
2019-02-01   3406.90   3455.00   3378.00   3424.74   1938298
2019-02-02   3397.48   3485.50   3379.00   3423.02   2185191
2019-02-03   3392.68   3438.46   3361.00   3412.14   1866177
...              ...       ...       ...       ...       ...
2019-08-23  10518.99  10558.70   9915.00  10042.87  10302128
2019-08-24  10042.87  10444.44  10000.01  10133.56  11186829
2019-08-25  10133.56  10811.78   9960.00  10422.91  17513980
2019-08-26  10422.91  10515.00  10111.88  10275.00  14576164
2019-08-27  10274.99  10419.50  10119.00  10339.22  10339238

[210 rows x 5 columns]
from fmz import *
dir(exchange)
['Buy',
 'CancelOrder',
 'GetAccount',
 'GetCurrency',
 'GetDepth',
 'GetLabel',
 'GetName',
 'GetOrder',
 'GetOrders',
 'GetPosition',
 'GetQuoteCurrency',
 'GetRate',
 'GetRecords',
 'GetTicker',
 'GetTrades',
 'GetUSDCNY',
 'Go',
 'IO',
 'Log',
 'Sell',
 'SetContractType',
 'SetDirection',
 'SetMarginLevel',
 'SetPrecision',
 'SetProxy',
 'SetRate',
 'SetTimeout',
 '__class__',
 '__delattr__',
 '__dict__',
 '__dir__',
 '__doc__',
 '__eq__',
 '__format__',
 '__ge__',
 '__getattribute__',
 '__gt__',
 '__hash__',
 '__init__',
 '__init_subclass__',
 '__le__',
 '__lt__',
 '__module__',
 '__ne__',
 '__new__',
 '__reduce__',
 '__reduce_ex__',
 '__repr__',
 '__setattr__',
 '__sizeof__',
 '__str__',
 '__subclasshook__',
 '__weakref__',
 'cfg',
 'ct',
 'ctx',
 'currency',
 'idx',
 'label',
 'lib',
 'maxBarLen',
 'name',
 'opt',
 'period',
 'quoteCurrency',
 'records_cache']


More

小草 /upload/asset/1efaf60b58c210b5c36.jpg