diff --git a/examples/CtaBacktesting/.ipynb_checkpoints/backtesting-checkpoint.ipynb b/examples/CtaBacktesting/.ipynb_checkpoints/backtesting-checkpoint.ipynb new file mode 100644 index 00000000..8d9213ad --- /dev/null +++ b/examples/CtaBacktesting/.ipynb_checkpoints/backtesting-checkpoint.ipynb @@ -0,0 +1,222 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "\n", + "from vnpy.trader.app.ctaStrategy.ctaBacktesting import BacktestingEngine, OptimizationSetting, MINUTE_DB_NAME\n", + "from vnpy.trader.app.ctaStrategy.strategy.strategyAtrRsi import AtrRsiStrategy" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 创建回测引擎对象\n", + "engine = BacktestingEngine()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# 设置回测使用的数据\n", + "engine.setBacktestingMode(engine.BAR_MODE) # 设置引擎的回测模式为K线\n", + "engine.setDatabase(MINUTE_DB_NAME, 'IF0000') # 设置使用的历史数据库\n", + "engine.setStartDate('20120101') # 设置回测用的数据起始日期" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 配置回测引擎参数\n", + "engine.setSlippage(0.2) # 设置滑点为股指1跳\n", + "engine.setRate(0.3/10000) # 设置手续费万0.3\n", + "engine.setSize(300) # 设置股指合约大小 \n", + "engine.setPriceTick(0.2) # 设置股指最小价格变动 " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 在引擎中创建策略对象\n", + "d = {'atrLength': 11} # 策略参数配置\n", + "engine.initStrategy(AtrRsiStrategy, d) # 创建策略对象" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2017-06-02 16:07:31.265000\t开始载入数据\n", + "2017-06-02 16:07:31.423000\t载入完成,数据量:331890\n", + "2017-06-02 16:07:31.423000\t开始回测\n", + "2017-06-02 16:07:31.441000\t策略初始化完成\n", + "2017-06-02 16:07:31.441000\t策略启动完成\n", + "2017-06-02 16:07:31.442000\t开始回放数据\n", + "2017-06-02 16:07:54.738000\t数据回放结束\n" + ] + } + ], + "source": [ + "# 运行回测\n", + "engine.runBacktesting() # 运行回测" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2017-06-02 16:09:14.068000\t计算回测结果\n", + "2017-06-02 16:09:14.134000\t------------------------------\n", + "2017-06-02 16:09:14.134000\t第一笔交易:\t2012-01-11 10:18:00\n", + "2017-06-02 16:09:14.134000\t最后一笔交易:\t2017-03-20 09:31:00\n", + "2017-06-02 16:09:14.134000\t总交易次数:\t3,749.0\n", + "2017-06-02 16:09:14.134000\t总盈亏:\t683,717.31\n", + "2017-06-02 16:09:14.134000\t最大回撤: \t-215,542.46\n", + "2017-06-02 16:09:14.134000\t平均每笔盈利:\t182.37\n", + "2017-06-02 16:09:14.134000\t平均每笔滑点:\t120.0\n", + "2017-06-02 16:09:14.134000\t平均每笔佣金:\t57.75\n", + "2017-06-02 16:09:14.134000\t胜率\t\t37.24%\n", + "2017-06-02 16:09:14.134000\t盈利交易平均值\t8,539.01\n", + "2017-06-02 16:09:14.134000\t亏损交易平均值\t-4,775.5\n", + "2017-06-02 16:09:14.134000\t盈亏比:\t1.79\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAakAAAE/CAYAAAD8EzwFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXuYFMXVuN+zu4AIsqDioiALeEeNiBFJvCwSRdREk5go\niYlgks9EjRo1UVDjgjGJmHiLiRrjDS8RjJiIXxSRyPolPwUxiqByU+MFBLyCokFhOb8/qobpme2Z\nnd2dnu6dPe/z9DPV1dVVp6p7+nRVnzolqophGIZhJJGKuAUwDMMwjFyYkjIMwzASiykpwzAMI7GY\nkjIMwzASiykpwzAMI7GYkjIMwzASS+xKSkTOFZEXRGShiNwjIp1FpJeIzBKRpSLyqIhUB9JPEJHl\nIrJYREYF4of6PJaJyLWB+M4iMtWf85SI9A8cG+vTLxWRU0pXa8MwDKMQYlVSIrITcBYwVFU/B1QB\n3wLGA7NVdQ/gcWCCTz8YOBHYCzgauEFExGd3I/B9Vd0d2F1EjvLx3wfeV9XdgGuBK31evYBLgQOB\ng4D6oDI0DMMw4if2nhRQCXQTkSqgK7ASOB6Y4o9PAb7qw8cBU1V1k6q+BiwHholIH2AbVZ3v090Z\nOCeY1/3ASB8+CpilqutUdS0wCxgdQf0MwzCMVhKrklLVt4CrgDdwymmdqs4GalR1jU+zGtjBn9IX\neDOQxUof1xdYEYhf4eMyzlHVRmCdiGybJy/DMAwjIcQ93NcT19OpBXbC9ahOBrJ9NRXTd5M0n8Qw\nDMNIAlUxl38E8Kqqvg8gIn8FvgisEZEaVV3jh/Le9ulXAjsHzu/n43LFB895S0QqgR6q+r6IrARG\nZJ0zJ0xIETEHh4ZhGHlQ1Ug6AHF/k3oDGC4iW3kDiC8BLwEzgHE+zVjgQR+eAYzxFnsDgV2Bp/2Q\n4DoRGebzOSXrnLE+/E2cIQbAo8CRIlLtjSiO9HGhqGqit/r6+thlMBlNTpOxY8oYJXF/k3oaZ8zw\nHPA8bijuZmAyToEsxSmuK3z6l4D7cIrsYeAMTbfQmcCtwDJguarO9PG3AtuLyHLgJzjLQVT1A+AX\nwDPAPGCSOgMKwzCM1vGtb8Ezz4Qf++wz2LQJVq9Oxz3/PIQ95DdsiEa+dkjcPSlwZuEvAJ2AzwND\ncd+gNvvjSmHfqDRrC8ZvDglnn2MYhtF61q2DqVPhwANBBPbdF/70J3jhBbj5Zjj/fOjUCXbcESZO\ndMppyBD47W/hr39N5/PQQ9C1K6xfH1tVEkUCuol3AKf6cBVQjetJXeDjLgSu8OHBuF5XFTAAeBkQ\nf2wecKAPPwwc5cOnAzf48Ek4E3aAXsArvryeqXAOGTXpzJkzJ24RmsVkLB7tQc6iyvjII6rf/a5q\nY2PuNLfdpjp7tuq0aaqbN6vecYfqkiXp47Nnu/ioZHRqp/nte99zv6edlhmfku3LX3b7991XXBk3\nb1a97jrV3r2btENb8c/IaHREVBkXVDj0AF4JiV+CM0MH6AMs8eHxwIWBdI/gJuL2AV4KxI8BbvTh\nmcBBPlwJvJ2dxu/fCJyUQ87WXjvDMNrKSy+lH+SXX6767LMuPH266sqVqrffnl8prFnjttT+k0+6\n39mziyfj+++7PB9/XPWaa5wyUFX96KN0uWvXptOffrqL++lPVefMUT3sMNVx41RPPdXFz5uneuSR\nLu2HH6r27Km6116qV1+tesEFTlmvX99Ujk2bwuX75JO0HAcdVLx6e8pZSe3ne0C3A8/ivkdtDXyQ\nle59/3s98O1A/C3A14EDcBNzU/GHADN8eBGwU+DYcmBb4HzgokD8JcB5OeRs/dUzDCM/69erfutb\nqhs2qDY0ND1+4onuUfWvf+VXRqBaW+sUwHnnuQf7LrvkT//yy8WpQ3ZvKMiGDU3jP/vMpV+50u1P\nmZIpl6rqoEHN1/fAA93vokWqc+eqVlaqXnJJZlkNDen0GzcWp75ZRKmk8n6TEpGHRGRGri3fuQVS\nhfsG9QdVHQp8jOst2Twpw0gaq1bBMcfAu+8WN9/u3eHee+EXv4ARI+DNN6GhATp3dt927rsP9tkH\nDjgAPvgAHngAPv4Yfv7zdB5Tp8LcufDii3D11XDVVS7tsmXu+BlnwJFHwttvw0svwUcfuW9Ee+0F\n11wDQ4e69Jv9J+vly50M2fz97+GGDgDvv+/kzaZLl6bxnTrBxo2w005u/5RTYO1a9x1q3ToXN39+\nOv3cua7clSvhkUdg5MjMNPvuC8OHQ2MjXH45TJ8Ou+3mDDVGjID993f5VsU966jlpL7nhB8Uqct3\nsqo+0abCRWqAp1R1kN8/BKekdgFGaHqe1BxV3UtExrtidbJPPxOoB15PpfHxY4A6VT09lUZV5/l5\nUqtUdQefZoSq/sifc5PPY1qInFpfX79lf8SIEYwYMaItVTeMZKAa/mAN45574DvfSZ/36afuAdzS\n8ubOheuvh//+FwYPdkroj3+EL33JyaLqlMazz0KvXrDLLpkP7Gw2b4aKPO/bt93mFNTOOzc9Flb3\nm2+G005z4Y8/hq23duE33oDaWhf+9FOnRAEWL3b12Ly58LYsFq+95mS6/XZ4/XW47LJ0GwYJylsE\nGhoaaAgo8UmTJqERzZOKdbjPK8gngN19uB5nNDEZ/+2JcMOJzsBAMg0n5gLDcD2lh4HRPv4M0oYT\nYwg3nEiFe+aQsQUdX6Ps2bSp6B+eI6V/f9WPP3bhl19OD5/dfbf7/fzn3ZDb3Xfnzyf1TSg43PTi\ni4XJsGmTG/ZauDB82CqV/wUXpOOeeCL6dg6WddllqjU16bh99lHt1El15kyXdvbs9LE//MHFnXtu\nOm0SaGxU/fRT1WuvVV2xQvXSS1WXLo28WOL+JgXshpvP9BLwamorigDuu9R8YAHwgFca2wKzgaU4\nx689A+kneOW0GBgViD8A9/1pOXBdIL4Lbm7Vcq/IBgSOjfPxy4BT8shYhMtolA17751+sAbZvNl9\na0gSmzeHK4V8269+1TSfK65wx959V/X++9Npf/lL1Ycfdspv82b3QA/7zvPDH6bPufBC1UcfdeFn\nnlH9z39cmv/+1ymzBx5wxzZsiLRpcgKqRx/truUll7j9BQvc7wknuDoOH+6MJFJ1Wr06HlkTQhKU\n1L9wk2oX4vzsTQQui0qopG2mpIwM+vVzf5099nAP5jvvVK2uTj+w3nvPfaBetMhZdxXK5s3OOKCY\nfPih6u67ZyohkXR4jz1Uzz/fhb/yFdVu3Vz4N79R/eAD1wP74AMXN3x4Zr5z5+ZWdO++6xRQirFj\nVSsq3LEw44gk07Vrul6zZrnrNHCg6rBhTuEaiVBS//a/i7LjiiKEm1T8LGmLvF6+B7UU56qoOpB2\ngu/9ZPekhnolugy4NhDfGZjqz3kK6B84NtanX2o9KSMva9Y4U+jUA/v1193vkUdmPpxT1lbB7d57\nm8//44+dpVcqb1VnKn3aabnPmT49d2/j5JNVr7wyLcNnnzkz6RSbN6sOHux6DJ9+qhk9l7q6pnXo\n3Dm8nFtuccerqpqec9hhTlmD632uXh1uNp10Fi9W/f73VX/+83TcRRe5en3ySXxyJYgkKKknvSJ5\nAPgx8DVgadGEgHOBuwNKyibzGslg40b3YP3KV9zfZexY3TLUN3OmC++6q5uguWBB5nyU7G8uYXkv\nW5aewzNtWjp9cJgu1xAiqI4YkRn3la+o/va3mWU//HDz9cwerho/PjOP3/wmdx0eeCAzLnuSamrL\nNxHXaNckQUkdCHTHeQq/HZiOnyDbZgFcno/hPJKnlJRN5jWSwWGHpR+ywYd/issuU121KvOcxkbV\nd95xCmjRItWttnK9o6uv1i29rbVrMz/Sp7YxY9zveeepHn98Ov6tt9I9o88+c72eMEWYrVg+/LDt\nbQCuF9lSUr2N3r1dr80oW6JUUoUazQ9Qt+rteuBUABH5pu+9tJVrgJ/hejQpMhY9FJHgoodPBdKl\nFircRIGLHoqILXpo5GfNGucMdOed3dyXFKefDj/9qZtPkyI4VydFRQVsv73bwDkdTZkugzOn7tkz\n85zhw51p9qpVMGsWjBrl4u+4A8aNS8+nAWdKfN11Ljx9Opxwggsfemg6zYcfwjbbtKTWuXEvai3n\nl790m2rpTbONsqFQJTUB+EsBcS1CRI4F1qjqAhEZkSdpK/8l4cW25qSJEyduCds8qTJm2jQ45xyn\nqFKsXQvV/h2qNQ/sP/zBzWMB5yH77bfdpNjf/x5+9CN49VU38fKTT9yWUm4AY8e6OTjDhmXmOXOm\nO/eww6BPHxgzBq691inITZuSpRSSJItRFLLnSUVJXiUlIkcDxwB9ReR3gUM9cL2XtnIwcJyIHAN0\nBbYRkbuA1Ula9BAylZTRzrnzTvfwX7kys4fyySdw5pnw3ntQU+N6Jr/6VVpBtZauXZ1ye/VVGDjQ\nPbSDEz932839br11euLooYe6nhs4r9rjxjmFtP/+zlvCYYfBpZc6hbZqlcvv2mvhwQdNKRiRk/2i\nPmnSpMjKas7jxH7AEOAy4NLAoY9w3hk+CD2xNYI47xbnq+pxInIl8J6qThaRC4FeqjpeRAYD9+C+\nQ/XFfcvaTVVVROYCZ+PmXP0d+J2qzhSRM4B9VPUM72Xiq6o6xi90+AzOKrDChw/QkDWlRETztZPR\nzthlF6cwAJ54wj3wX38dBgxwcbff7tzU5PNiECebNjm3OscfD3/7Wzp+w4ZwFzyGETEigkbkcSJv\nT0pVnweeF5F7VLUYPadCuQK4T0S+h3N5dKKX5yURSS16uJGmix7eAWwFPKyZix7e5Rc9fA9nMIGq\nfiAiqUUPFVv0sOPQuzc8+qjz91ZX53y4XXWVOzZ9Onz96/HK1xxVVfDcc2k/cym22ioeeQwjQpob\n7rtPVU8EnhORJl0JVf1cWwoXkX7AnUANbjHCP6WyxhY9NIrJ+vXOgOF//9ft77orXHKJ6y1dfLGL\nW73aDfO1B4YMiVsCwygJzQ337aiqq0SkNuy4qr7epsLd96Y+3nCiO/Bv4HicBeF7qnpljuG+A3Hf\nkGaTHu6bB/xYVeeLyMM410iPisjpwL5+uO8k4Gshw33iyx6qqutC5LThvvbOzJlw9NEufPTR8PDD\n6WMicOWV8LOfxSObYbRzohzuyzvorqqr/O/rwKc4P3ufAz5tq4Ly+a5W1QU+vB7nRaIfTlFN8cmm\nAF/14eNwk3E3qeprOC8Sw7yy28abyYPrnaXOCeZ1P+B93HMUbg2qdX6YbxYwuq11MhLIf/7jluT+\n+c+dAUNQQYGLMwVlGImkIBN0EfkBznDicVyv43oRuUxVbyuWICIyAGekMRebJ2WE0djohufWrHFm\n14895iznDjkE/vEPN1TXv7+bH/Tpp26uUL9+bt0egP/7v3jlNwyjxRQ6T+pnwP6q+h6AiGyHc5VU\nFCXlh/ruB85R1fUh379snlRH4bPPnOXapEluobqaGjjrLLeQXY8ebg0igIsucubhAOee6xauS3HX\nXfDd72bm+9RTbsKsYRhtppTzpAp1XfQk0Dmw3xl4shguL3CKciZOQaXiFpPpFmmxhrtFmknaLdLi\nQHyhbpFuCpxzE+YWKT42bHDr9XzlK25tnlzetceOVf3pT124tta5FzrrLLd/yy2qxx2nesQRqqee\n6uJGj3YOVA3DiAwidIuU13AihYjcCewLPIjr1RyP8zi+0D/Br26xdszM+11VPS8QNxl4X22eVHnz\n5pvQt68bwvvzn+Hkk138WWe5uJ/8xA3nbb893H+/mxeUy8z61Vdh0CA3sXWvveD55zNdERmGERlR\nGk4UqqTq8x1X1VZNNxaRg4H/wy1WmDIFvwh4GrdQ4c74eVIp5SEiE4Dv4+ZJnaOqs3z8AWTOkzrH\nx3cB7gL2x8+TUmd0gYiMAy725V6uqnfmkNOUVC7eeAMuv9wt/51vEunatW5p67o655tum21g8uTM\nNBdcAN/7HuyxR7QyG4ZRVGJXUuWMiIwGrsX1pm5V1ckhaUxJASxd6ky5f/ITt//kkzBypPN0UFHh\nXPfceqsbmFu/Hrp3d9+YLr3UGTtMmZKZ3w47OI8JixY5p63nnGMTUg2jHRK7khKR3sAFwN64ngoA\nqjoy50ntABGpwC16+CXgLdxQ4RhVXZKVrmMqqY8+ghtvdD0c1bSboC9+0VnP/fvfbv+119IuhSZM\ngF//Ojy/J590jlIrK523hKS6HTIMo0XE5hYpwD3ANODLwI9wK9q+E4VAJWYYsFz9nC8RmYr73rYk\n71nlSmMjvPMOLFwI3bo5025wyuSDD5yj06efTqd/5x03bLfVVk7pbNrkek/gnLj+7W/wwAPOL17/\n/pllmYIyDKMAClVS26nqrSJyjqo+ATwhIvObPSv5ZM+VWoFTXB2LJUvgqKPc96Vs1q1LewFfsCDz\nWO/e6bCIMx3/6CO3LtJhhzU1AzcMw2ghhb7O+tmQrBKRY0Vkf2DbiGRKJiJue/559wA+7ji3/49/\nxC2Z6wGJuMmqS5e6nkuQd9+Ft97Kff711zsFNXGim/i6aRO8+KKL69HDDfW9+y7st1/zsnTu7NrH\nMAyjCBTak7pcRKqB84HrcetJ/SQyqUrHSiA4DhVchyqDieBWah0yhBEEFqI64oj0cg+lRtUtKXH3\n3W6/rq5pmgcecPJddx3ccAOcdpr7JpQiZZGXvbbS4MGZ+Wy3XXFlNwyj3ZLEybxTgJ6B/W2B26Ka\nvFWqDTe592WgFjdBeQGwV0g61cWL3ay1FStUn3nGhRsbVXfbzU0affNN1fXrVefPd/tr1qhu3Kj6\n7rtaNN5/X3W77VSnTcuc4HreeU6W2bNVJ09Ox/frlw6PH+9+DzlEddw4lz517J//LJ6MhmF0OIhw\nMm+hD/PnColrjxvOqexSnLPa8TnS5L46//2v6rXXqu64Y6biANVzznG/mzY1Pa+xUXXRotz5ZrN5\ns+rUqU3L+PKXw9OuXav6ySeqr7yiOmmSi//4Y9VTTkkrtp12Un3qqcJlMAzDCCEJSup5nNeH1P62\nwKI2FQxX4twfLQCm45Z1Tx2b4JXGYmBUIH4ozsvFMuDaQHxnYKo/5ymgf+DYWJ9+KXBKIH4Azpnt\nMuBeoCqPrPmv0ObNrimPPVZ19WqnuIK9mFtuUf3Pf1TXrXMKLahkHnnE5bFypery5bnLmD7dpZ8w\nQfWPf1T98MP8MuVi0ybVl19Ol28YhtFGkqCkTsGZZf/Cb0uA77apYDgCqPDhK4Bf+/Bg4Dnc97IB\nfjguNZ9rHnCgDz8MHOXDpwM3+PBJuOU8AHoBrwDVQM9U2B+bBnzTh28EfphH1uav0ptvqn70UWbc\nK6+ovvFGplJKbd/4hureezeNnz9fdcECN0z4ySeZx6ZMcUOIIcyZM6d5GYO89Zbqa6+17Jw20mIZ\nY6A9yKjaPuQ0GYtDe5AxSiVVkHWfOndBXwfW+O3rqnpXIefmyXO2qqZWyZ2LM1qA0q0ZNRLXg8Of\n+7W21Id+/dJzhFIMGuSMLaZMcf7owC1TvmwZ/OUv8MILcPbZ8IUvwDe+Affd5+YiDRni/NXtvHM6\nn9/8xpl0V4XburT4I+aOO5bct13JPrS2gfYgI7QPOU3G4tAeZIySQq37UNWXgJcikuN7uCE3KMGa\nUX6pkQ8CSnIFEDBtKzKnnOK23/2u6bHrrsvcX7fOWdw9/bRTYLfd5lwPZStAwzCMDkDBSqo1iMhj\nQE0wCufM9WJVfcinuRjYqKr3hmTR6qKLlKb09Ojhfr/0JTdXyTAMoyMT1ThiIRswDvh/QJdAXEnW\njALeJv1NbDjwSB451TbbbLPNttxbVHoi0p5UPrz38Z8Bh6nqp4FDM4B7ROQa3HDdrsDTqqp+GG8Y\nzhHsKcDvAueMxRlWfBO3zD3Ao8Av/UTkCuBInBIEmOPTTvPnPphLVo3IcaJhGIaRn9iW6hCR5TjT\n8fd81FxVPcMfi3zNKBEZiDNb74WzJvyOqqbcPxmGYRgJoMOvJ2UYhmEkF1svIQ8iMlpElojIMr+M\nfZyyvCYiz4vIcyLytI/rJSKzRGSpiDzqhzVT6SeIyHIRWSwioyKU61YRWSMiCwNxLZZLRIaKyELf\n1teWQMZ6EVkhIs/6bXTgWBwy9hORx0XkRRFZJCJn+/jEtGWIjGf5+MS0pYh0EZF5/n+yKLWqeMLa\nMZeMiWnHQP4VXpYZfr/07Rin4USSN5wCT/n164TzjLFnjPK8SsDrh4+bDFzgwxcCV/hwzgnREch1\nCDAEWNgWucgxUTtCGeuB80LS7hWTjH2AIT7cHechZc8ktWUeGZPWllv730rcHMxhSWrHPDImqh19\nnucCdwMz/H7J29F6UrnZsiCium9VqQUR40Jo2vMNTmKeQnpyc+iE6CiEUtV/AR+0RS7JP1E7Khkh\nfBrC8THJuFpVF/jwepxLsH4kqC1zyJiaq5iktvzEB7vgHppKgtoxj4yQoHYUkX7AMcAtWbKUtB1N\nSeUmbEHEvjnSlgIFHhOR+SLyAx9Xo6prwD1AgB18fOgk5pJJCju0UK6+5J6oHSU/FpEFInJLYNgi\ndhlFZACu5zeXll/jksgZkHGej0pMW/ohqueA1cBj/gGZqHbMISMkqB2Ba3AW2EHDhZK3oymp9sPB\nqjoU92ZzpogcSubNQ8h+UkiiXDcAg1R1CO5BcVXM8gAgIt1xrr3O8b2VxF3jEBkT1ZaqullV98f1\nRIeJyN4krB1DZBxMgtpRRI4F1viec74pOJG3oymp3BS8IGIpUNVV/vcd4G+44bs1IlID4LvVb/vk\nK4GdA6eXWvaWylVyeVX1HfWD5MCfSA+HxiajiFThHv53qWpq3l6i2jJMxiS2pZfrQ6AB568zUe0Y\nJmPC2vFg4DgReRXnsm6kiNwFrC51O5qSys18YFcRqRWRzjjvFTPiEEREtvZvr4hIN2AUsMjLM84n\nC05IngGMEZHO4uaD7Qo8HaWIZL5ttUguP2ywTkSGiYjgJmrnnFxdDBn9HyzF14EXEiDjbcBLqhp0\n6Ji0tmwiY5LaUkS2Tw2TiUhX3AT+xSSoHXPIuCRJ7aiqF6lqf1UdhHv2Pa6q3wUeotTtWExLkHLb\nKGBBxBLJMRBnXfgcTjmN9/HbArO9jLPIXD15As7CJmNNrghk+zPwFvAp8AZwKm6CdIvkAg7wdVsO\nXFcCGe/ErU22ANczrYlZxoOBxsB1ftbffy2+xlHJmUfGxLQlsK+Xa4GX6eLW/ldikDEx7Zglbx1p\n676St6NN5jUMwzASiw33GYZhGInFlJRhGIaRWExJGYZhGInFlJRhGIaRWExJGYZhGInFlJRhGIaR\nWExJGYZhGInFlJRhGIaRWExJGYZhGInFlJRhGIaRWExJGYZhGImlwyspERktIktEZJmIXBi3PIZh\nGEaaDu1gVkQqgGXAl3BesucDY1R1SayCGYZhGID1pIYBy1X1dVXdCEwFjo9ZJsMwDMPT0ZVUX+DN\nwP4KH2cYhmEkgKq4BWgPiEjHHRM1DMMoAFWV5lO1nI6upFYC/QP7/Xxcfipx65OWI5X+N4r6CZBS\n94W2YZLaOkmyxEV7boP2LHsEFNMewa0MHw0dfbhvPrCriNSKSGdgDDAjNGUlTR/glaEp2ye+LvWX\n1FN3SN2W6Pr6+oxk3aq7NX21KbQdwhRUJZltm51vY9Z+vrTNEUiTXa981PStcYFyfMC19B6Oug3y\nyVOorLnSJeX6tfBe7fC0dt37ctmA0cBSYDkwPkcadU2lSqULl+MWpK6uLl3nkDS1tbWtLqe2tlbr\n6uq0U9dO2m2bbtqlSxcFtpSZauNUfKeunTLKz84rI//KrN9UuBLttk23nPk01y7Z170t9Y99K+N7\n2Ope+FZMfH7RPKOjyrhNQkE9zojhWb+NDhybgFMoi4FRgfihwEKcSfm1gfjOOKu95cBTQP/AsbE+\n/VLglDzybLmoqYdTXV2d1tfXx36jFbzl+3NWht+09fX1W27AsBu7onNFi//0qTxz3OTarbqb1vSt\n0crKyoz4YPl1dXUZMqeUWU3fmmbLTeWfXa9cbVVXV7clbfB65z0/iVuY8m7JPVLI8WLdj20ps5B6\nFrsu7XQrJj6/DqekzguJ3wt4DjfgNAB4mfRcr3nAgT78MHCUD58O3ODDJwFTfbgX8ApQDfRMhXPI\nk3FRs8NJ2bpVd2v1ubmUx5Y65lBkqXODvZ3W/DFSyiCb2traLb/V1dVb4lMKI/uabOmNFVC3UBkr\n0+ekyg7mH6xH3Ne77Lc2KJLU/RF2P0S9hf4PE6gUi4nPr8MpqfND4scDFwb2HwEOAvoALwXixwA3\n+vBM4CAfrgTezk7j928ETsohT8aDLhgu9OEc2RZ4qKpq02GuAv8o+Uj1UIJKIqwtcuZfSU4l1xaC\nii2Yd6rclNy5yNUTDlNq2b3KYLgjbfX19bGMIKTKlE5S0L0dvCdKLauqZtzzef+TMW7FxOfX4ZTU\nf4AFwC34Hg5wPfDtQLpbgK8DBwCzAvGHADN8eBGwU+DYcmBb4HzgokD8JYT03vyx/Bco5hsvqDxq\na2tbrDiDPYacdSzgps54a81qk/r6+py9pWIQlC/4J2yubhltUYAizXgQRfHgieheatKjCHyjyxgm\nbab80HYrQR1VNfxFLE/64FBt8GUuFS76d8XA/ZMrTW1tbWa5lSidornmhbRRsfD5lZeSAh7DfUNK\nbYv871eA3qSH8S4HbtHiKamXaYWSSr1B1tfX65w5c5pcoDi3XDdNMW/WfMOBOcutbFkZbSGjR9eC\nMsOUad70gbzjvu4tvcZUOoVUV1eX8QAP1qW5XlJ2O7RpK1BZZV+TVHyub5C50mfXNYprGOxx19fX\nu++2/ljwZTKXTKW+J1rLnDlzMp6JPr/yUlIFCwi1wEIfzh7um0l6uG9xIL7Q4b6bAufcRJ7hvnyU\n9OYK+WOHUdG5IsOaDZpazxXjZs0m+OAIvr2XkpaUmf1Qbkne+Qw1kral6hpWn+x65fu2md0Ord1S\n90ZN3xqlk/vdci0C92cumcOMeoJGMRnpK5u2Q9j5xWrnYLsG77EgwXtHVbW6urp094N/WSkmvh4d\nR0kBfQIka2juAAAgAElEQVThc4E/+/BgnOFEZ2AgmYYTc3G++ARnODHax59B2nBiDOGGE6lwzxzy\n5L1AsVj5FdhLybZIC77ZFXJ+a8h4iPhhpVKSesgWSrA9m6Omb03GHzzXNUnalq/uwXqE1svXLXgd\n21rXYNnZ8jT3cpPdaw5TAtnpc+UXVTtnl5Wv7Khkac390Fp8nh1KSd2JG/pbAPwNqAkcm4BTTtkm\n6AfghvaWA9cF4rsA9/n4ucCAwLFxPn4ZzZigF3KRSr2lPiI3R/DNMVvWQr5HtZSgTIUOE8ZJqi1a\nI2v2NWnywtJWxVUkxZdP/mA9ctUrO4/gNIDWyhP2jTKXPLkI9oiau065yivmli1Xdr3Cyo5Kllz3\nUxQvjb4e5aWkgG8AL+DmgQ/NOhb5XCicCftcf+xeoCqPrAVdpFK/SbeWYuTRXP7tiba0RercYA+r\nyb2QgB5WLjKMC5p5YOaqezHlCbOiLIRCviXmii/K1kxPPOxlMGebV+af8xeVjG3B51t2SmoPYDfg\ncQJKihLNhQKmAd/04RuBH+aRtaCLBIQOpxV7a+lwVi5Zo7ph20PvKUhb2iJlSRmkzcO/ESi15sg2\n1w+rQzZtqWdzFPuBmiuvYl6blt732W2R3T5RPDuiwuddXkpqiwAwh0wlVZK5UMA7QIUPDwdm5pGx\noIuUccMVOvO9lTdaW2646urqNiu6cqK5+VTNkesBXtG5IhHGFYU+PJsMUQXn+hTrIV+okiryQ7VF\nE7oLUEitqVOusrfsZ7V1k3unCM+UqCBCJZVEB7PZazyt9HF9ca6SUgTXftpyjqo2AutEZNtceYnI\ndsAHqro5kNdObRF6ixNST/0l9S4QkVPL+hY4SM1m7dq1rF+7vojStG9Wr1hd9DwnTpxI46eNrF6x\nmtra2hadW1dXVxwhKqHbNt2YOHFiQcmz01V3ry78/m2BQ9RC6teW+zuMZtsgTP6IHdJmPzNozJQj\n4770zpalk5Sng+s8NKukRORwEXlARF702/0iMqKQzEXkMRFZGNgW+d+vtFnyZoouUpqCyX7QTZw4\nkU5dO+U+IZc37wIp9MFjFEZbHorNPXRfe+21FuXX0NDQalkyaIT1H7b+ZWTt2rXNpmmph/j6+vqC\n6jdx4sSiK6qcZHvlLxGrV6zOuHdqa2vTL7cpslZe2PzZ5vSxpHh1j5i860mJyLHA74HLgEm4B/tQ\n4DYR+bGqPpzvfFU9shUyrQR2Duyn1njKFR885y0RqQR6qOr7IrISGJF1zhxVfU9EqkWkwvemml1H\nKqgURowYwYgRI3KmTfHZJ5/lXmellTdYdXV160408tIWpV80pdIaUg/YkGVNavrUhJ/TAmpra3n9\n9ddzHl+9YnX6Hs8lS4CWtHPJXsS8rDV9a1izck1pyvQE752wl5nafun2Tynt+vp6Jl0+qWXPkEro\nVJnnpbmFNDQ0lO6+zzcWCDQA+4XEfw54ohjjjbhvUgcE9ksyFwpnOJH6PnUj8KM8MhY0Lhs27l1s\nB5fFJEo3RUYmOa9pjsnZSbpXmssvWGZzroaSRrZshRiD5PpPRyljtnVgys1YXM+OMBk1KruFvAdh\nSWuOFVQwfBX3vei/wCrgkcCxyOdC4RTgPB8/DeiUR9Y2X8DsB1NwHaWk3GhGdLT0GmffL6HhEt0r\nzRnZpO7n1Etavgd90qjpW6MVFRU55xG25PpERb65jEl5dkSppJpbPv7jVh4rhCpgHc5g4VhVfRZA\nRGqBnwNLfLqvArN8OLvhCcRvDglnn0NIPD599vGi0a26Gx+v/zjdPQ98KxARW9a6o9Pc9W/MEfZD\nehlDVBHcS+vXrs8/vJ317WvixIlMmjQpUpmKRVGMZiKuW75vmnV1dTzxxBOZkQlu79bQnOHELiIy\nI2R7CBjUxrIXAV8Dngg59rKqDvXbGYH4G4Hvq+ruwO4icpSP/z7wvqruBlwLXAkgIr2AS4EDcWbs\n9SKS+qgzGbjK57XW5xEJ69eub2K5k6Kmb03OY0CbDSyM5NGtulvGft0hde43hwFGTgOCxpCHbEQP\npxZ/fwjes+3sgRm8PnmNnxJAQ0ODuz+Cz4ns9m7vz4983SygLt9WjK4cTedJ1QKLQtIlep5UcwTH\n6rO/BaXimxsmKYYcRjyEXcuwa5sa2glNHzJPJnUseO9k+xeMmpzuhgp0hpxEUm2aCue8fiX09J+P\n5r5RRT3BngiH+1qiTHoDvYsuQLiS+gi3bPwc4BAfX7Q1o4DtgGWB+H54T+s5ZGzD5UuT62aurq5u\n+nAK8VTe3jw5GGnCFAuVaKfOnVS16bXN9pJdyMtLEh6WKerq6pzijNDjfpQEvwNlr8+mmnk9sn1j\nxkmub5aRlxuXksJZ0dUD7wLvAx/geiCXFpR5njWjAmmylVQnoJcPDwXeALq3UEnlXTPKK6nlgfiS\nKKlCbuZ8DyOj/VJfX7/FUEa1MIUSTBN8S872Ep5EJZUi+6WrvZJPSSWJ4PpO5aKkmjOcONcrgwNV\n9T8AIjIIuFFEzlXVa/KdrK2YJ6WqG3HKEFV9VkReAXanHc6TypdHLmr61rBm9ZqMD+Ilm9RoRMbE\niROZOHHiljlFFZ0rqGzBx4KGhoYt5wbDELg/kvzBvNHu41KQesakDFfq6+szjViKRJLmST0HbB8S\n3xt4rhhakqbzpLYn/a1oEM5MPTW3KdHzpIpNe3/7NJrSkuuZvTgdIW/yQVI9rCSR+hablOGw1kJW\nryR7ODZp1PSt2TKUXIr5kETYk0pNkg1FRF5Q1X1aeqwQROSruOXgt8dZ1y1Q1aNF5Os4Dxef4UzD\nL1Xv2UJEDgDuALYCHlbVc3x8F+AuYH/gPWCMqr7mj40DLvY31OWqeqePH4hb3qMXThl/R10vLkxW\nzddOUZF6KzIXSOVDqkdVCCJC8L5L9Z5UNSOc75wkkESZWopUpX3mpeqS6xp0RPw1LqqruRTNDfd9\n1spjhfBFYD1OqbwCnAqgqg+IyB7A94BNfkuRPdYajE/sPKnWYsqp/GjLNS2a49kSUxbDfEkdRu0A\nNNeTaiR80q4AW6lqqycRiMgRwOOqullErsB1FyeIyGDgHtzcpn7AbGA3VVURmQf8WFXni8jDOK8T\nj4rI6cC+qnqGiJwEfE1Vx/h5Us/gDDAE+DfOSGOdiEwD7lfVv4jIjbie3B9zyBpLT8ro2OTrdaXe\n7NtDT6ocSE26r+lTs2VumvWk0kTZk8o7mVdVK1W1R8i2TVsUlM97tqaXypiLU0gAx+G+KW3yQ3bL\ngWEi0gfYRlXn+3R34rxRABwPTPHh+4GRPnwUziJwnaquxXmuGO2PjQSm+/AU3MRiw0gMeXtdOd7s\ny6LXkkDq6+upO6Su6fIZRuQkZT2p7+EMIaCdridlGKUklzKyIeJomDhxYhNrtrpD6uyloAQ0902q\nTYjIY0BwvQDBffu5WFUf8mkuBjaq6r3FLLpIaQwjkTTxj2eUnFiXaOlARKqktJl5Ut7y7hjSw3NQ\nRutJGYZhlCOlnCeV13Ai0oJFRgNXAYep6nuB+JThxEG44brHSBtOzAXOBuYDfwd+p6ozReQMYB9v\nODEG+GqI4USFDx+gqmu94cQDqjrNG048r6o35ZDVDCeMxGFGEkZSiNJwIk4ltRy3sGFKQc1V7/Fc\nRCbgvJJvBM5R1Vk+vkPNkzKMfJiSMpJCWSqp9oQpKSOJtGRisGFESWwm6FEiIleKyGIRWSAi00Wk\nh4+vFZFPRORZv90QOGeoiCwUkWUicm0gvrOITBWR5SLylIj0Dxwb69MvFZFTAvEDRGSuP3aviET6\nfS5q2sNHXJOxeDQ0NCReQbWHtjQZk0+cJuizgL1VdQhuLtSEwLGyWvSwFLSHG9lkLB7tQU6TsTi0\nBxmjJDYllWcyL4SYh9tkXsMwjI5HkibzPhLYH+CH+uaIyCE+zibzGoZhdDSicK2e2ihs0cOLgemB\n/UQuemibbbbZZlvuLSo9krjJvJrARQ+jsloxDMMw8hOndd9o4GfAcar6aSB+exGp8OFBwK7Aq6q6\nGjeMN0yc++FTgAf9aTOAsT78TeBxH34UONIrpF7AkT4O3GKL3/ThsYG8DMMwjISQuMm8SVz00DAM\nw4gHm8xrGIZhJJakWPclEhEZLSJL/ITfC2OW5TUReV5EnhORp31cLxGZ5ScqPxqYA4aITPCTmxeL\nyKgI5bpVRNaIyMJAXIvlyjVRO0IZ60VkRWDS+OjAsThk7Ccij4vIiyKySETO9vGJacsQGc/y8Ylp\nSxHpIiLz/P9kkYjU+/gktWMuGRPTjoH8K7wsM/x+6dsxSuu+9rzhFPjLQC3O4nABsGeM8ryKt3oM\nxE0GLvDhC4ErfHgwbgizChjg6yERyXUIMISAdWRr5ALmAQf68MPAURHLWA+cF5J2r5hk7AMM8eHu\nwFJgzyS1ZR4Zk9aWW/vfStwczGFJasc8MiaqHX2e5wJ3k7akLnk7Wk8qN8NwZuqvq/tWNRU3aTgu\nhKY93+Ak5imkJzeHrm4chVCq+i+8NWZr5ZL8E7WjkhHC1xQ7PiYZV6vqAh9eDyzGWZ0mpi1zyJia\nq5iktvzEB7vgHppKgtoxj4yQoHYUkX446+tbsmQpaTuakspN9kTg4OThOFDgMRGZLyI/8HE1qroG\n3AME2MHH51rduFTs0EK58k3UjpIfi/MdeUtg2CJ2GUVkAK7nN5eWX+OSyBmQcZ6PSkxb+iGq54DV\nwGP+AZmodswhIySoHYFrcBbYQcOFkrejKan2w8GqOhT3ZnOmiBxK5s1DyH5SSKJcNwCD1PmOXI1b\n2yx2RKQ7zrXXOb63krhrHCJjotpSVTer6v64nugwEdmbhLVjiIyDSVA7isixwBrfc843TzTydjQl\nlZuVQP/AfrOr90aJqq7yv+8Af8MN360RkRrY4tvwbZ8838TnUtBSuUour6q+o36QHPgT6eHQ2GQU\n54n/fuAuVU3N20tUW4bJmMS29HJ9CDTg/HUmqh3DZExYOx4MHCcirwL3AiNF5C5gdanb0ZRUbuYD\nu4pbOqQzMAY3abjkiMjW/u0VEekGjMK5gpoBjPPJghOSZwBjxC1hMhA3IfrpKEUk822rRXJp/ona\nkcjo/2Apvg68kAAZbwNeUtXrAnFJa8smMiapLcU5A6j24a64CfyLSVA75pBxSZLaUVUvUtX+qjoI\n9+x7XFW/CzxEqduxmJYg5bbh3sCW4j4Cjo9RjoE468LncMppvI/fFpjtZZwF9AycMwFnYbMYGBWh\nbH8G3gI+xflZPBU3QbpFcuF8My7ybX1dCWS8E+dHcgGuZ1oTs4wHA42B6/ysv/9afI2jkjOPjIlp\nS2BfL9cCL9PFrf2vxCBjYtoxS9460tZ9JW9Hm8xrGIZhJBYb7jMMwzASiykpwzAMI7GYkjIMwzAS\niykpwzAMI7GYkjIMwzASiykpwzAMI7GYkjIMwzASiykpwzAMI7GYkjIMwzASiykpwzAMI7GUlZIS\nkd3FLcn8rP9dJyJnt2bJY8MwDCN+ytZ3n4hU4BbYOgj4MfCeql4pIhfilmEf79dwuQc4EOdCfjaw\nm5ZroxiGYbQzyqonlcURwCuq+iYJWGbdMAzDaDnlrKROwi3RAMldZt0wDMPIQ1XcAkSBiHTC9ZIu\n9FFtWjpaRGz4zzAMIw+qmm+Z+VZTrj2po4F/q+q7fr/Ny6xHsZhYErb6+vrYZbC6Wd3KvV7lXrco\nKauelLfauwW3vPpHInIQsAzYCnhBRJ4FniS9fHENcLqIjAN+RfTLrBuGYRgtoKyUFHAdzkJvBLAP\nbljvIuAO4FBgKLA7sL+37BsB/AL4H+BW4Msa9WuBYRiGUTBlM9wnIj2AQ1X1j6raW1XXquo6nGXf\nTap6BLAv8KmqriVt2fdLVR0A/ANYF5f8cTFixIi4RWhCn/79EZGMrU///i3OJ4l1KxblWrdyrReU\nd92ipGzmSYnIfsDNwEvAfsAzwE+AlaraK5DufVXdVkSuB55S1T/7+FuAh1X1gZC8rYNVQkQE5szJ\njBw1CjZuzIiq2XlnVr/xRgklMwwjDBFBIzKcKKfhvirccN6ZqvqMiFwDjKeNln0pJk6cuCU8YsQI\neysqNRs3NlFcaw4/PCZhDKNj09DQQENDQ0nKKqeeVA2uZzTI7x+CU1K7ACNUdY237JujqnuJyHhA\nVXWyTz8TqFfVeSF5W0+qhIT2pA4/PDTOrothxI/1pArAK6E3RWQF8B5uwq4Cd+Es+L4I7I+z+qsG\nZgD3+DlV38dN4r06HukNwzCMMMrGcMJzNrA9rl5PAXsBk4FxwBDgOZxbpAmq+hLQAPwc2IBTVDeI\nSCRvA4ZhGEbLKZueFICqPi8iq3DDe++l4kVkA3BQYMivATcUuAa4NDDk922c774mQ36GYRhG6Sm3\nnhS4Ib7HRGS+iPzAx5nvPsMwjHZIWfWkPAer6ioR6Q3MEpGlFMHCz6z7DMMwHGbd1wb8OlLP4NaS\n+jfQiBvaWw28gltbaoa38JsJfB54BzgHOI8QCz+z7istZt1nGO0Ls+4rEBHZGjgLN6G3F86H3wpg\nPjDTJ7sZeNC7RarFDfedCDwGbMJ89xmGYSSGslJSOE8Tl+B6TTU4p7HjcK6R/gAMAHYEvgb8COfT\nrwJ4BGcVOMG6TIZhGMkhUUrKuyrKqSRU9exmsjgP50i2GjhfVa8QkQtVdSlupd6UW6S1ItKXtFuk\nX3u3SKHLdBiGYRjxkCglhfuW1CpE5FhgjaouEJEReZJaT6lc6NSJsGlt5tPPMMqHRCkpVZ3ShtMP\nBo4TkWOArsA2InIXsFpEagJzpFq84CGYdV8iCfHnB+bTzzCipsNb94nI7sBPcd+QtihSVR2Z55wu\nwP8BnXHDfZ+p6p4ich1upV4FBPi7qp7rDSdmAx/7+K5Av7BvUmbdV1paYt0XpqTM6s8wSktHtO77\nC3ATbpXdxkJOUNVPReRwVf1ERA4HpovIMH9YyD3MZ26QYqJP//6sefPN5hMahtFhSaqS2qSqN7b0\nJFX9xAfnAa/iFNNRwCFZLpHOxS16eF3AJdIjmEukkrLmzTdz9oQMwzAguW6RHhKRM0VkRxHZNrU1\nd5KIVIjIczgT9MdUdT7mEqnj4Q0q2rqyr2EY8ZPUntRYXC/o/Kz4QflOUtXNwP5+Kfm/isjeFGnR\nQ6MdYQskGkbZkFQlNRg4AzgEp1T+iftGVRCq+qGINACjgTVm3WcYhlE8Smndl1QlNQX4EPid3/+2\njzsx1wkisi/we5znCAW2wq0v9SjwTxHZYt3nT5kBzPae0lPWfTldIgWVlGEYRkcm+0V90qRJkZWV\nVCW1j6oODuzPEZGXmjlnO9z3pk9x9arGGU8IZt1n2MRfw2iXJFVJPSsiw1V1LoCIHEQz3ihUtQG3\nEi/+nL/hhvDMus+wib+G0U5JqpI6AHhSRFKvuP2BpSKyCFBV/Vy+k0VkAG65+LlkWfeJSNC676nA\naWbdZxiGkTCSqqRGt/ZEEekO3A+co6rr/beoIGbdZxiG0U5IpJJS1ddbc56IVOEU1F2q+qCPNus+\nIzch36rsO5Vh5Mes+1rPYmAnv13n48y6z8iNzakyjBZTSuu+pHqcaDEicjBusu8KYDcReVZERpO2\n7st5ainkMwzDMFpO2SgpVf1/qlqJWzJ+uaoOVdWZpK379gAOw3lEh7R1366quiuwEGfdZ3R0Qtwq\nmWslw4iHchvuC2MHs+4zWkQuc/VRo+z7lWGUmI6gpLIx674YKItlOez7lWGUnI6gpMy6LwGELsth\nD3jDaJeYdV/byDaUmAGMAybjvKs/GIi/R0RexFkC7gzMIYfHiXK17mtoaChfhbtgAQwZEm0ZISbs\nFVttxeYNG5okDYtv7XBhuV63cq0XlFfdzLqvlYjIn4Engd1F5A0RORW4AjhSRJYCX/L7qOpLuBWA\nHwA2A8cD3xKRPWMRPiZK9TYUCwsWRF9GaggwsG3esKFJXK741g6Blut1K9d6QXnXLUrKqielqt/O\nceiIHPGPA4eq6tEAIrIfTlktiUC8DkFZfHsqJTkc3xaz12UY7ZmyUlKtIHt13hUUYIa+ceNGVqxY\n0SS+d+/edO/evXjStUNsSfgWksOScPPhhzc10siyLkwNsbRVoYW9WJhCNJKCqHZcYzcROQE4SlVP\n8/vfAYap6tlZ6TpuIxmGYRSAqkbiGKGj96RW4jyspwi18Iuq8Q3DMIz8lJXhRCuYD+wqIrUi0hkY\ng7P6MwzDMBJAh+5JqWqjiPwYmIVT2Leq6uKYxTIMwzA8HfqblGEYhpFsOvRwn4icLyKbRWTbQNwE\nEVkuIotFZFQgfqiILBSRZSJybSC+s4hM9ec8JSL9A8fG+vRLReSUEtXpSi/7AhGZLiI9yqVuhSIi\no0VkiZfvwrjlCUNE+onI4yLyoogsEpGzfXwvEZnl2/VREakOnFO061eiOlb41QhmlFPdRKRaRP7i\nZX1RRA4qo7qdKyIveLnu8bLEWzdV7ZAbzkhiJvAfYFsftxfwHG4YdADwMune5jzgQB9+GGcVCHA6\ncIMPnwRM9eFewCtANdAzFS5BvY4AKnz4CuDXPjy4vdetwPpX+LrVAp2ABcCeccsVImcfYIgPdweW\nAnviPKNc4OMvBK4o9vUrYR3PBe4GZvj9sqgbcAdwqg9X+f9Bu68bbh2+V4HOfn8azktPrHWL/c8a\n14bzNrEvmUpqPHBhIM0jwEG4B8pLgfgxwI0+PBM4yIcrgbez0/j9G4GTSlzHr+JWKS67uuWp83Dg\nkcB+Rr2TugF/w71gLAFqfFwfYEkRr987JaxPP+AxYARpJdXu6wb0AF4JiS+Huu0EvI57Ca3CGZHF\nfk92yOE+ETkOeFNVF2Udyp7cm1q+oy9uom+KFaSX9dhyjqo2AuvEDR/myquUfA/3FkMeedpr3XIR\nNkE7KbKFIiIDgCHAXNzDYMvSMkBwaZm2Xr+1EhjajphrgJ+RuepAOdRtIPCuiNzuhzJvFpGtKYO6\nqepbwFXAG17Odao6m5jrVrbWfSLyGFATjML9YS4BLgKOjKroiPJNF5C7bher6kM+zcXARlW9t5hF\nFzEvAxCR7sD9wDmqul6aThwvpmVTSa6fiBwLrFHVBSIyIk/Sdlc33DNzKHCmqj4jItfgehTlcN16\n4tzC1QLrgL+IyMnEXLeyVVKqGqqERGQf3Pjp8yIiuGGJZ0VkGLkn9+Zb1iN17C0RqQR6qOr7IrIS\nN9QRPCfEX1DLyVW3FCIyDjgGGBmIzlWHRNWtCBQ0QTsJiEgVTkHdpaop7/wtXVqmxdcvmtpkcDBw\nnIgcA3QFthGRu4DVZVC3FbhRmGf8/nSckiqH63YE8GqqLBH5K/BF4q5bKcY6k7zhvkn18uHUh8DO\nuG598EPgXJxfP8ENoY328WeQ/hA4hnDjglS4ZwnqMxp4EdguK77d163A+leSNpzojDOc2CtuuXLI\neidwdVbcZPw4P+Efqdt8/UpcxzrS36SuLIe6AU8Au/twvb9m7f66eVkWAVt5me4Azoy7brH/UePe\ncNYs2wb2J/jGXgyMCsQf4C/gcuC6QHwX4D4fPxcYEDg2zscvA04pUX2W4z5+Puu3G8qlbi1og9E4\na7nlwPi45ckh48FAI06JPuev1WhgW2C2l38WAeVfzOtXwnoGlVRZ1A3YD+etZgFuqZ/qMqpbvZdz\nITAFZyEba91sMq9hGIaRWDqkdZ9hGIbRPjAlZRiGYSQWU1KGYRhGYjElZRiGYSQWU1KGYRhGYjEl\nZRiGYSQWU1KGYRhGYjElZRiGYSQWU1KGYRhGYjElZRiGYSQWU1KGYRhGYjElZRiGYSQWU1KGYRhG\nYjElZRiGYSSWslVSInKriKwRkYV50vxORJaLyAIRGVJK+QzDMIzmKdvl44Hbgetxq582QUSOBnZR\n1d1E5CDgJmB4jrS26JZhGEYeVFWiyLdse1Kq+i/ggzxJjscrMFWdB1SLSE2e/GLZ6uvrO1zZHbHO\nVnbHKrvc6hwpcTVUKTagFliY49hDwBcD+7OBoTnSKqC77babDhgwQFP7UW6VlZXNxldVVbWpjD59\n+pRE7u7duzebpnfv3kWXpba2NqOOe+yxh+6222563nnn6cknn6yjR4/WkSNHbmnHwYMHa48ePbRr\n164K6J577qk77LCD9urVSwHdbrvttKKiQvfZZx+trKzUvffeW/fdd1+trKzUbt26banbvvvuGypP\njx49tH///lpVVaU77rijAnrwwQfr8ccfrxdffLH2799f+/Tpo5WVldq5c2ft06ePHnjggTpkyBA9\n4YQT9LTTTtPhw4froEGDdMcdd9RRo0YpsCWuT58+WlVVpTvttJOecMIJOm7cOAV00KBB2qNHDx04\ncKDuuuuuGTKdeeaZCmjfvn31C1/4wpZ6Dh06VA866CC99dZbQ+tSVVWlw4cP106dOmXEd+vWTbff\nfvsm6XfaaacWXbuhQ4cqoPvuu6/W19fr8OHDM47vs88+oedtt912bbpnBg4cqID269dvS1yXLl10\nhx12yHtez549FdCRI0c2Ob+mpqZJ+m7duuX8j6fat7Kycss1raioyDjWtWtX3XrrrZutT+r+79Kl\ny5a4wYMHa7EBNKrneOzLx4vIF4EBBIYeVTV0iK4VedcCD6nq50KOPQT8WlWf9PuzgQtU9dmQtPE2\nkmEYRhFp63O/oaGBhoaGLfuTJk1CIxrui1VJichdwC7AAqDRR6uqnl2k/PMpqZuAOao6ze8vAepU\ndU1IWlNShmGUDcV+7otIZEoqbsOJzwODNTpNKX4LYwZwJjBNRIYDa8MUlGEYhhEfcSupF4A+wKpi\nZywifwZGANuJyBtAPdAZ11O7WVUfFpFjRORl4GPg1GLLYBiGYbSNuJXU9sBLIvI08GkqUlWPK0Le\ndwJDgfXArap6e/CgiNQB3wFe9VHHAE2+RxmGYRjxEbeSmhhFpiJSAfwe+BLwFjBfRB5U1SVZSf+v\nSARkTd0AACAASURBVArRMAzDiIBY50mp6hPAEmAbvy32cW1lGLBcVV9X1Y3AVNy8qGwi+dBnGIZh\nFIdYlZSInAg8DXwTOBGYJyLfKELWfYE3A/srfFw2X/Aukf4uIoOLUK5hGIZRROIe7rsYOFBV3wYQ\nkd64SbX3l6DsfwP9VfUT7yLpb8DuJSjXMAzDKJC4lVRFSkF53qM4vbuVQP/Afj8ftwVVXR8IPyIi\nN4jItqr6fhHKNwzDKFuyJ/NGSdyTeX8DfA6410edhHNjdGEb860EluIMJ1bhhhS/paqLA2lqUvOi\nRGQYcJ+qDsiRn03mNQyjbLDJvAWiqj8TkROAg33Uzar61yLk2ygiPwZm4Xpmt6rqYhH5IX6eFPAN\nETkd2Aj8F6cgDcMwjAQRu+++9oD1pAzDKCfaU08qFus+EfmX//1IRD4MbB+JyIdFKmO0iCwRkWUi\nEjp8aIseGoZhJJuy7En5ybzLCEzmBcYEJ/N6i74fq+qxftHD61TVFj00DKPssZ5UgXgv6M3GtYJC\nJvO2aNFDwzCMcqE9dU7iXpl37+COiFQBBxQh30Im82anWRmSxjAMw4iRWKz7RGQCcBHQNfANSoDP\ngJvjkMkwDMMojI40T+rXqjohgnyHAxNVdbTfH48zPZ8cSGOLHhqG0SFpbGykoqJ4A2ll901KRPb0\nwb+IyNDsrQhFzAd2FZFaEekMjMEtchhkBnCKl8cWPTQMw0ggcU3mPQ84Dbgq5JgCI9uSeSGTeW3R\nQ8MwjORTribovYBpQC3wGnCiqq4LSfcasA7YDGxU1WE58iu/RjIMo8OyadMmKisri5Zf2Q33pRCR\nb4rINj58iYg8ICL7FyHr8cBsVd0DeBzI9d1rMzBCVffPpaAMwzCM+IjbBP3nqvqRiBwCHAHcCtxU\nhHyPB6b48BTgqznSCfG3gWEYhpGDuB/Qjf73WJxz2b8DnYuQ7w4pIwhVXQ3skCOdAo+JyHwR+Z8i\nlGsYhmEUkbjXk1opIn8EjgQmi0gXClScIvIYEPQQITilc0lI8lzflA5W1VV+scXHRGSxqv6rcPEN\nwzDaH+3JFiFuJXUiMBr4raquFZEdgZ8VcqKqHpnrmIisSa0XJSJ9gLfD0qnqKv/7joj8FedOyZSU\nYRhGHjrMZF4AEdkPONTv/lNVny9CnpOB91V1sveA3ktVx2el2Rq3MvB6EemGM1efpKqzQvJrP68d\nhmEYzbBx40aqqorXRyln675zgHtw34x2AO4WkbOKkPVk4EgRSa3Oe4Uvb0cR+V+fpgb4l4g8B8wF\nHgpTUIZhGOVG3J2TlhC3W6SFwBdU9WO/3w14SlU/F5tQIVhPyjCMcuKzzz6jU6dORcuvbHtSOGOH\nxsB+o49rW6Yi3xCRF0SkMZ+bpUIWRjQMwzDiI27DiduBed5oAdx8pluLkO8i4GvAH3Ml8Asj/p7A\nwogi8mBwYUTDMIxypD0N98WqpFT1ahFpAA7xUaeq6nNFyHcpgIjk65VtWRjRp00tjGhKyjAMIyHE\ntZ7UVsCPgF1xvZ4bVHVTicUIWxjRXCMZhlH2NDY2Np8oIcTVk5oCbAT+CRwN7AX8pCUZ5JnMe7Gq\nPlQkOQ3DMMqODRs20LVr11afX8p5UqhqyTdgUSBcBTwbUTlzgKE5jg0HZgb2xwMX5kircVFfX9/h\nyu6IdbayO1bZ5VZn/4yMRF/EZd23MRXQ6If5cn2XKmRhRMMwDCNG4lJS+4nIh377CPhcKiwiH7Y1\ncxH5qoi8iest/a+IPOLjt0zmVdVGILUw4ovAVFVd3NayDcMwjOIRu1uk9oBN5jUMw8iPRjSZ15SU\nYRiGkVji9jhhGIZhGDkxJWUYhmEkFlNShmEYRmIxJZUwROQkEfmHiPxIRA7wcZFfp7jKtbKt7I5Q\ndkesc7HKNiWVIETky8BFwB+A7sDv/QrDm5vxQ9guy7WyreyOUHZHrHMxy47bC7qRSXfgXlV9AEBE\n+gM34xzflmO5VraV3RHK7oh1LlrZ1pOKERE5W0R+JiK7+6heQHDBx3OAYSJyqKpqsd584irXyray\nO0LZHbHOkZYdlb8l2/L6FKwE7sB5u/glMBP4Mq5nuwo4MJD2LGBaey7XyrayO0LZHbHOpSjbhvvi\nYXugn6oeASAi38J1gZcBPwduBD7v0z4P7CwinYBN6q90OyvXyrayO0LZHbHOkZdtw30xoKprgE4i\ncoKPehx4CfgfVb0FeE9ELheR/YFTgU6qurGtN1Opyg3rxsdV545StrV5/GV3xDqXomxTUhEjzsN6\nKlzpf6uAqcBIEensL/K/ga1EZAfgDNyCjL8DNgH1rSj3UHGLSwbjIi8XvM/+dJkVpSxbRAZKlolr\nRyg75jbvFBJXqrJjuc9jvs9i+2/Hcq1bOv5oW8HjtIcBT+DML88KxA8DegL7+GNjffw2wFxg90Da\nnoFwRYHlfgG3DMldwIBSlevTjgAexI07H1zisg8D/gVcAnTuQGXH2ebdcQuX/sHvSwnLjuU+j/la\nx/nfju1aW08qAkRkFHA9cBMwDfiuiOzsD48ABgKvArOBH4jI3rg3jHXA1ql8VHWteFR1cwHldgd+\nCPxWVb+rqq8FDh8eVbm+7CNwb0r3ASuAy0RkmD98RBRl+2SdReRS4M/A1ap6uap+Fkg2otzKDshQ\n8jbPoivOgmukiOyu/ukD1EVc75Le5wm51rH9tz2xXOvUibYVaSP9dvET4AwfrsW9YVTlOOenwP3A\nW8AlbSy3GmdZ08XvH4P7oBlJuVn5XQD8ILB/C/Bk1GXjLIguA34RiBuSJ32xy54UR9lxtrnPrwLo\nBpwNXAs8WMJ6l/w+j/M+i6vOSbjWqmpKqiiN6MwtawL738ctXX8VsBx4GpgOfDfH+T2BXkUodxfg\nduBQXNd8Km544IxiluvPHQMsAvb2+z8Bng4cvxh4B/hOhGXv4/eHAr8B7gbm4VZYvgM4OoKyT8aZ\n2db5/c8Bvy1R2Uf5B9UBfv+nJWzzk4HzyDQn3s8/kKqAhbihsIER1nuo39+jFPd5oNzP+/1hJbzP\nUvf4Xn6/lP/tsf5eKvm1Ds2vWBl1xA3oAzwMbMDNrA4e293fzCf5/aOBt0n3eq4Gjs06p9Bx8Xzl\nPui3b/v9w4GXSb+Btbpcn3Yg0AD8FTg869iTwB/9n2gy8B3gvsDxqyIs+3TcsNd+uLfOU4F5geNt\nrffuOKulWcC5OFPaz5ei7MA55wJLgP/f3plHX1EdefxTP3ZQEEQFUTEqalBxXwBRg1sEiWbivoCO\nRo3LmBkHFaMQ9100x6iJo4IL6mhmGPd9X07cUEedk6hR4x7ccAFRoeaPqubdX/PWft3vvR90ndPn\nvb59u79ddev2vbdu3bpXxGR+RYYyXxP7UD+IzcPMAkb5tUHAZP9/LvA9cCfQBet914VdhO/Lg7Tb\ngJlZ6XkZ3CMz1rNyOn4bGdZtz38q8AI2Sn8Ca7C6Ym7mv826rIu+UxoPWVoPYGVgErAa8CSwg6d3\ncgW+Duge5L8dNxFQYqheD65fGw68CewZpN1HoeefGNfvHwZ8HfGFTZD28f/Le+X9uZ/vAJwV3JsF\n9rL+vzfQO8TCepuDUsJeHzgiOL8R2NX/94neIwvs4LknA0cAVwIHBbowLEOZb0tgtsFGEuf6/038\ng/YfmMvxKzEZZcH3hOC9MtPzIrjjPa1/lmVdQsd7+//h2NxPVnW7B/aNWtnPdwMuAf4Jm7Z4Meuy\nLnbki3kTkk/+fSAil6nqHBG5HhsiP6CqC4A5IjIQuEBEjsdCgvTAej6o6nvBczQNXH/u0yJyK7C5\niHwLrAV0w0wHiXH9njZVfVlEbgKmisjrmMnxQxG5FnhSVV/CRhn4tY+j+zPGflxV5wa3HI4tFny/\nXmy//xWsYiIi52Afya9E5CPgFVX9Nivs4L4I4xFgVxG5EfhCVT/ATDCQosydZgEvBPffB0wQc79+\nGYso8LWqDhWRDYCZIjJDVb/MkO+bVfVREZkObJmBnhfDHeu693VWZV1Bx69X1btF5LoMeZ4nInMx\nU+NFmOWgH7ATZlp8A5ibRVmXpaxavyX5ADoVSesB3AscFaStgfW4n/Df1RuE2xvrUV+D2czXSJNn\nbMT0AebpNBAzi/weGOPXR2Hup3cQzJnViNdWI/ZYv/4LzAR2I7BqQmypIPPzgNWBQ7Ge5s9SxF4m\negcKpuE2//2j8yzYnOebjtmWhsyLySCUhZ9fiJv4Iv2LXe+flszL8P028NM09DyBvPfw80zKuoyO\nX4F1jLrXy3MZeYvzdw0wwNOi+d5tcLNivWVd87s2AqQjH8AG2HB+MrBdkL42MDSWdwzwrP9fIarA\n+PDZ/1c775QUd3mgn//vVStuFdgbRv9j99wM7Ov/1wM2Dq5JDdjrYzb/82hv1hhSATuy04/B50wS\n8j0TOBvYvpzMg2s34o4KdWJ3AaYD98fShwAb+P+JmNPGnVjImaeiD0WdMt8Ec3zpWQR7qP/v6r8z\ngG38/0qBjocdibRkXpFvv96zVuwU5J1VWVfU8aQ8V5D3OtjIbCDWKE0Mrt1H+6mMtiTYSY98nVQZ\nEpGhwA3AY9gK6l+LyD5+eWusIi0iVb0LeF1EPsQmPlfx9A/8edWud6oHdyZmNweYWwtuldhrOOZf\nY7d2Ab7wa6+q6qwAu+Lw35dPHIt9BJ/A7N+HiMiGnmV4ldh3qerjCfheGftwPIRNlp8gIvsFfK9d\n4tau9WI7dcIcYtYTke2C9OHAGmLRSroD4zBHho2wMpro2DXL3PPuBtyNxVjbKnZ5Kwp8f++/PwAL\nReR8LCZbX8dfEN2UoszL8X1cgFeznlO/vDMra39+MR3/LDpJwnMFeY8C1sWcu+4FdhSRsX5tnr8z\nqrogxKuR72SUdSvYkQ9gP+CM4Hwi8FaRfNFweQJmo/8dwSimo+DWio1V4pOwxuxiLCZXPdhjcddV\nYFXgKgLHk4yxh9Lei2tn4P0i+bpgH+ZJmNPA1BSwo3I8FjgRW7KwWA8V8/zqHjvvWif2SMx0eSRm\nPlqhTN4fY43Vi5jbfb26Vq3MU+W7yfKuFrtpOu7X9sS8Cd/ETI1F13k24mgKaKseWK/pt8DOfr4j\ntpI/UqzDMXv46bH7Ilv2BAKzUDHlayXcerD9WnfMHLJe/J2qxN4uvDdI3xh4DviLP3/frLEd889h\nZcTmdy4scm9/4KyYzBNhB3LuB9yPrUO538t0cIny7losPSHfkRdZJ2xEdSDF5+EEWBGbr1i3kTKv\nl+9WkXct2M3U8YDv3sDAJNhpHg0HbNUDW+/wBtbDeQ74ladfj5m/7sFcyndyxYpcn/+NIDafp7XV\nUIGaglsn9nEEjhoJeF4G67XPxbzy4pVjODAC+zCOBv4PdwbAFrCmju3X7qd9RIEhmHfb8gHfv8qA\n705Y+Jgz/Xw8ZmJ5BXNBFi/vogs3U+A7kvse2EcrPh8ykcDdOOI7JexKMk/MdyvKu0rsTOpXDfJO\njJ3F0RTQVjtcMa7GF89h3jMXAgf7+ToUnALWwhasRgvoVuxouC2A3QNzmx+MLU48zNMXM2dgLrYz\ncKeArLADnj/Fe49e2a8EVmsA9opYR+FybAT5LDA1vJ6RzDvF8l0HHIZ9MHfxtJVieWr6YDVL5q0o\n7xbAzlTHszia/gLNPii4m54HXOL/O2MuplcCw2L5JwK/K/KcWituU3BbAHuRKcF/x2I9uZ7huwX5\nj8BGdMtkje1p52OejT/BIkk8yuJeb1lhX4M1El28PD4mFnomK5lTMEWtDXyEuUBfTNCL7kgyb2V5\ntwB2Jjqe1dH0F2iVA1uDcC0F99O1gNMprOQfhoUiehpYJ8Hzi7qMZo3rz+gXfIQ6NRi7W/C/qOJj\npokLYmm7Yoso78LdchuBjZlj9sdcy+8jcOuuEXs7YHRc5hWw4x+KgQmxk8q8P+aV+gweJy8B9oAq\n8qQu81I63iB5D6GMw0nG2JvjMSwbKe9GHk1/gYYxat5ip1MicrFfnwycHaRNBw73/6sDIxLgroz1\nmm4Ajg/SJUtcv3cghbmlaUF6WwOwB2EhVK7Bduhsx3cs74aYx1hvr0C9sLU7u5e7LwPszri5g2Dk\nViP2ypgZZw7wcIW8EXYfbMQSmWA6J8ROyncbZoLqgccjjPSkRvwjsRHYmlXyXbfMS+l4g+S9MtYA\n3EGJYKsZYi+HBa3+MzCuUfJuxrFUrJPyEB53Ar8EthGR5eN5VPVdbH3AEBE5xpMX4OtDVPVtVX3K\nn1dWbiK2lbeI7OLPfAtz2d1JRA7y52nauLF36IMtAHwTi8G1hogc7c9cmDH2LtgE7d+wyMnjgucv\nRmqhlCJ315cwj6QXVHVmhB3JqwxmKPOk2LMwN2OAbxJgH4Tp2bvYhPizIrJcFdhvYB+R1Tz9hyBP\nI/h+CfvIzlPV5wK+F5bDj7ADWh2LOzdaYjvHlsFOJHPPV1LHK+AmlneAPQqT2weququqvlUuf5rY\nTmOA91R1S1W9vUrsuuTdNGp2K9mIA5tAHIbZYK/GzTAl8m6BueK+iE069qkDd1MC11Kshx26LXfO\nAteft67jRV47U/19ipn90sYeQ/tIFQdikZOLeoRhIW7exBwk6g2SOYYgenSDsXemEJxzKPZBKrm2\nJWXssU3kO9KpX2LRsx8mGJFlhV2FjsdDOqXJ80hs1Drcz0dgo6TOfh6fW00NO+A18sYdB2xGEPg2\nS+xGH0tkgFkR2RJbFHqPjwDeA95V1YViu+ZuKyKvq40kwvvaVPUZEfkFpvjvenq1URO2APbGAj7O\nVNXnPX0QtlPvSGC+iMxT1UnYqKVuXM87HNum4QXM/DEbM0ecKiKb+f8VsLUXe6hHCEgJe5G8PelB\noC3qjWPbPSzU0qvTu2NRpp8M3qnaVfShzG/FzD7dm4A9U1Xv9fQuqvqaiLyNuXXfmAF2VN6zsI/P\nXUAPEenkZZsl3xH288B/qe+4inUCT8ZMtrv7QOttVf0kDexA3i8DtwCfUF7H4/pbD89xHZ+FOZlM\nEpEVMXfvD4EvMWeENLFDef+3qn6OmVV/EJE/YHNiHwF9RGS8qn6aFnZLULNbyTQPzK36RExhFtDe\neymaAxqKrQPaM3ZvqR5nRVstZue9BPtYHYuZ0E6mYPsdTCHeWV+sAdmu3POrwQ3yDscW3B6NVd6L\nsfAqnbDe7TTP1wl4lcIWE3Vhl5N3+Bxsj5qDi9wb7+kullajzE8JZN7WYOyTCSbPsbUwFwL7VJJv\nLdglyvtCCi76XbLiuwx2tK/WZMx1fT3sg/0p7pRTD98l5D0FW57QD/jnMjq+2LxajWVdVMf92lDg\nMuAQPx+ENRbbZijvizBz3e5Yx+SyIO/t+MaqaWC3yrHEzEl5DKqu2KhpEDaheXl0Xb2UVPU1bI3C\nMBFZS0T29vSiPYvovgq4PYHPsUjcl2DRCDbFFumhqu+o6mPey/0cayR/VO75lXAd+wAR6YGtfbhc\nVS8FTgDeAaao9ai/w1xM8fNbMI+gerHLyjv2nJFYcE6ieGDqFM9fA3YxmW+CxysMyrNR2IvK2583\nF/uIjvT7OoVYCbFLlfe7WIBYVDWKsZc23+Wwo3mgTbGI9Ldgi1PvwxZiJ+a7jLw3xhrkz2BRlPJi\nOr7YvFqNZV3um/IacIqqXuWjk/cx1+7BpXBSkPd7wCS1+dpPsNHTKn7b/VgZ1IXdchRvtTrqgSnH\nMcF5P8zDKnKv7kzQi8DcbGdj+zAtQ8IehuP+q/9fFCEY87oZUiT/OMylu2hU7QTYB2ERIcLdQYdg\nE8o7YnM0z2A263GYOXCbRsjbfwdgjeTumEv5NMyLLHGPrlqZNws7SNsSM9EUnStIubxvpLAL9KCM\n+C6F/Z+Yy/2BWMM02K89jIfbykje6/j/A71ONVrH4wuhx2HbpaybEnYped+CLb4fho0wzwR+5ro2\ntl7sVjua/gIpFGY0Sbo1FoMuDAg5BXg6lr8LNqH8DrBjSrhTaL82ZRjWqwnfZVNszuSJpLhYr+qn\nwfko53l5zOFhL0/v5QoehV6Zgs1TPYpHEUiA3T12Xq28NwQWYpGXd0qIHZmwJMCuRuZpYC8Xe4eq\nsD19J+A0PGhuxuU9Adt+oXNKfC8bOy+FvYzr2lnEnERIEL2AwpYgUWNUTt49grQp2NxcPTpeTM+q\n0fF1sEblKZLX7bjuVKrbZ/n5qliosBlUcEXvqEeHM/eJSC8RmSQikQtntEVAN2yi+FsR6ezXTgUG\nishov3cDNXPI1ao6WFXv9/S4K22tuKqq8yNcbFHs2/4uy/jE6t+B61R16wi3Bp57ish5WAX8deDe\n2x2zk8/BGsCDfdL+G2zito/nOw2Lvbatqt6dEHu6iIwXkd5+qSeV5b0mZqY5VFVHq+p9nl5R3p6v\nl9guuH8U21KiZ4BdSeb9sUnsRNie9wDgHRHpqwUzWvcK2L1EJHLxfURVJ6uZeKumhOUNNl/yA7ad\nxiEJZd5TRKZiu66eJYXlGj1LYH+N6VpPVf1eRNoi06aq/qNGns/HynpnCmXdi9LynicifURkgOte\nUh0vp2eVdDyK0HG9qo6oo27H61cPytftXv4+76rqBaq6n1ZwRe+o1KEaKRH5MdaDOhPYQ0S6BZdf\nAHYWkdVU9Yfg2tHAAyLyJgV77V/8eW1+XskuXjWup62Cfdz2wnqzW6jqbFX9nxC3Sp73Bh7HFPM3\nWKyv7/zyc5h76QBVvQ7bbyayma+G2epRo68SYG+PfSi7YCFcxmBbS4PFG6sk71Gq+ndVvTrEriRv\nz/sTrGfaBjwJ/ByLyB7xXUnmW6nqW0mwAxqMdUKOCNKer4D9MDahDr7erMaGsZ7yjj6kr6rqNf68\nWmTeE4s40QU4BuulH+qXn6mA3cVxFgYduGp57o4tTO2Kjfh3wNYVQmV5h/MwX4Y8V4ldtZ6V0PER\nqjpHVe9IgF2pflUs69jzqtazDkXNHsrVcmDD6uHYup578egRFIbnJ9E+qsNQTAkeJBaPrkbcIdgG\ncNXi3oP14m8gYUif4Fnj8LAn2Crzf9A+fP5vImzMc/AqbJ7tCSqs/K8CeyRBhA6skoS7v56Shbz9\nWbvgcyx+fijmPRaZg7KUeWT22d+Pt8NnhjJfwsp7HSziSKTX57reRzKfkgU2tk/VzcH5MOArYOs4\nbgbyHkvggVmFnqWp45Xq1+SsyrojHU1/gQqFOAQLZTQhSIsicU/F3DGXDa6NBY4K8myEb3vs59Xu\n77Q6MCaW1qMK3CjPiTHFr2Vbg4jng2LpXbGR0XTczTTAPpr2rrEDgv+1uLuWwu7vuJ9gGyue6Olj\nsB53XfIuJnPntTeFuYnjgN9nLPPxsfSbse22j8c8MlfERlaRzJeU8p4QYD6LzW09iJmxrsLWgIXl\nXRd2EdxuWGM8ws+HY7vgPhngZiZvzG0+mmMupWdp6HjS+lV3WXfko2XNfSKyHuYpNB+YICKnicgm\nqjrfs5yPuaGOCm5bgPVu5gOo6ouq+oA/r6ptlsVCybwATPM5lWjxW+ReXAp3wyiPqp6jqjfVgluE\n5/ERz/7M77A5ifm4m7XTD1gYobnRcF9VPwqwqzJvlcPG7OO3qWp/bFHyWBEZh3lHrl+PvD3vYjLH\nKuCXFBZFLgu8FuN7WMoyP8j53sIvP4+5WF+CmV7ex0yACzGZLynlPUFEzgJWArbH5Pypqg5Q1UOw\nsFnjsQWk69eDXQT3bKxs/x04R0SmY/I+AfhGRDbEwvesn5W81UzhkamslJ7Vq+P11K+6yrqjU8s2\nUpj77p9U9QzMRvwVsL/br1HVD7B4VLv75OOOaqvBNxaREfGH1VCg32ERuC/Cej1EiuiNVSncjULc\nQKlqUaRKPM8DvgD2Dfi6F9hSREbEsVLC7qE2Ofsnf+brmLmhr6o+C2xep7yhjMwpfDzWxxoNRGQr\n53uTjGS+t88tbABcirk3vwr8r6r+VW1ifsslrLy/wNZazcfmSB4J8l6KxfZ7ES/vOrCL4Z6AjVT3\nwsJzjVPVp7HtK+ao6qNkLG8tzHdV1LMEPJfDrqp+1VnWHZpauZH6G6aYXYKC64pNbAKgqlMxm/nr\nwCkisiy20v79OnCnYWsdrsV6kDvBosWYWi1uQiWqyDPmatpNRFYK0n5DfTyXw94tzCQim2KjyDc8\n6aQUsKdRXOad1UJZ9cU8FZcTkTuBf/EP+RSykXkPzNRyFzZJfaSqbouFehrv97Xjewko78exkdt2\n2EjiDBEZJBaSZzwWigjqL+847mOYvPdR1Y9U9SZV/dhx++LOJ8AkMpa3mCdjRT1LSM2sXx2btAVs\njsUOzPRwObC/ny+LxcQ6AevpdcO2Op4N7JfROxwGPBpL64rZrVPHrcSzp+2Krerv10DszlgwzxmY\nx9NioX4ylvkGmIntSeCABvLdO5Y31V1LW7S8J/n5xZhjwotp6nkVerYS5tn3FhZ/r2Hyxhw2mqFn\nDatfHfFo5ZHUbGxV+WgRGaRmN56Hzf18jynTw6q6gqrOgNrcP6ukGcA8EdnXn7+m2lzBQxnhVuIZ\nVb1DVY9SCweTJpXC3kjNFDIbk/dmGswHpPwOsLjMB2FzIVNUdaSqXp8ydjmZRy7NnYK8jcJuVnlv\n7NePw0aQGwV6ngbflfTsK+BOVf2Rqt6aAl412Bu7vGfTeD1rdP3qcNSyjZTanMSdWOGd78ltwJc+\nZP5eVWdB4SOiKUf2VVuoOBm4Qiyi9WifsMwEtwLP7dZFpK3AZbDniEg3Vf1UVa907CRrjqp9j7jM\nd3Xs07PArkbm6ut+IsxGYkfUwPL+zOvXAlWd49ipybyCnnVV1bmq+nCImxaVwf7CdfzDJuhZQ+tX\nRyRpdTmILaC7FSvQtbCh8KwGYQ/GXHD7AhNV9aEG4TaT56ZhO34u86UAe2nkudnYHZVavpGCRQW7\ngqq+12DcodhwfJG5o1G9m2bx3ALYucyXEuylkedmY3dE6hCNVEjSpA27moWbY+fYSwP20shzPZMc\nOwAAAGJJREFUs7E7CnW4RiqnnHLKKaelh1rWcSKnnHLKKaec8kYqp5xyyimnlqW8kcopp5xyyqll\nKW+kcsopp5xyalnKG6mccsopp5xalvJGKqeccsopp5alvJHKKaeccsqpZen/AcAm77h73uyZAAAA\nAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 显示回测结果\n", + "engine.showBacktestingResult()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'orderID': '1', 'direction': u'\\u591a', 'gatewayName': '', 'tradeID': '1', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-11 09:18:00', 'rawData': None, 'vtTradeID': '1', 'offset': u'\\u5f00\\u4ed3', 'vtOrderID': '1', 'dt': datetime.datetime(2012, 1, 11, 9, 18), 'price': 2464.4, 'vtSymbol': ''}\n", + "{'orderID': '2', 'direction': u'\\u7a7a', 'gatewayName': '', 'tradeID': '2', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-11 10:18:00', 'rawData': None, 'vtTradeID': '2', 'offset': u'\\u5e73\\u4ed3', 'vtOrderID': '2', 'dt': datetime.datetime(2012, 1, 11, 10, 18), 'price': 2448.8, 'vtSymbol': ''}\n", + "{'orderID': '3', 'direction': u'\\u7a7a', 'gatewayName': '', 'tradeID': '3', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-11 10:19:00', 'rawData': None, 'vtTradeID': '3', 'offset': u'\\u5f00\\u4ed3', 'vtOrderID': '3', 'dt': datetime.datetime(2012, 1, 11, 10, 19), 'price': 2448.4, 'vtSymbol': ''}\n", + "{'orderID': '4', 'direction': u'\\u591a', 'gatewayName': '', 'tradeID': '4', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-11 14:21:00', 'rawData': None, 'vtTradeID': '4', 'offset': u'\\u5e73\\u4ed3', 'vtOrderID': '4', 'dt': datetime.datetime(2012, 1, 11, 14, 21), 'price': 2456.2000000000003, 'vtSymbol': ''}\n", + "{'orderID': '5', 'direction': u'\\u591a', 'gatewayName': '', 'tradeID': '5', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-11 14:22:00', 'rawData': None, 'vtTradeID': '5', 'offset': u'\\u5f00\\u4ed3', 'vtOrderID': '5', 'dt': datetime.datetime(2012, 1, 11, 14, 22), 'price': 2455.6, 'vtSymbol': ''}\n", + "{'orderID': '6', 'direction': u'\\u7a7a', 'gatewayName': '', 'tradeID': '6', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-11 14:57:00', 'rawData': None, 'vtTradeID': '6', 'offset': u'\\u5e73\\u4ed3', 'vtOrderID': '6', 'dt': datetime.datetime(2012, 1, 11, 14, 57), 'price': 2444.0, 'vtSymbol': ''}\n", + "{'orderID': '7', 'direction': u'\\u7a7a', 'gatewayName': '', 'tradeID': '7', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-11 14:58:00', 'rawData': None, 'vtTradeID': '7', 'offset': u'\\u5f00\\u4ed3', 'vtOrderID': '7', 'dt': datetime.datetime(2012, 1, 11, 14, 58), 'price': 2445.8, 'vtSymbol': ''}\n", + "{'orderID': '8', 'direction': u'\\u591a', 'gatewayName': '', 'tradeID': '8', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-12 09:51:00', 'rawData': None, 'vtTradeID': '8', 'offset': u'\\u5e73\\u4ed3', 'vtOrderID': '8', 'dt': datetime.datetime(2012, 1, 12, 9, 51), 'price': 2452.8, 'vtSymbol': ''}\n", + "{'orderID': '9', 'direction': u'\\u591a', 'gatewayName': '', 'tradeID': '9', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-12 09:52:00', 'rawData': None, 'vtTradeID': '9', 'offset': u'\\u5f00\\u4ed3', 'vtOrderID': '9', 'dt': datetime.datetime(2012, 1, 12, 9, 52), 'price': 2452.0, 'vtSymbol': ''}\n", + "{'orderID': '10', 'direction': u'\\u7a7a', 'gatewayName': '', 'tradeID': '10', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-12 10:31:00', 'rawData': None, 'vtTradeID': '10', 'offset': u'\\u5e73\\u4ed3', 'vtOrderID': '10', 'dt': datetime.datetime(2012, 1, 12, 10, 31), 'price': 2455.2000000000003, 'vtSymbol': ''}\n" + ] + } + ], + "source": [ + "# 显示前10条成交记录\n", + "for i in range(10):\n", + " print engine.tradeDict[str(i+1)].__dict__" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 优化配置\n", + "setting = OptimizationSetting() # 新建一个优化任务设置对象\n", + "setting.setOptimizeTarget('capital') # 设置优化排序的目标是策略净盈利\n", + "setting.addParameter('atrLength', 12, 20, 2) # 增加第一个优化参数atrLength,起始12,结束20,步进2\n", + "setting.addParameter('atrMa', 20, 30, 5) # 增加第二个优化参数atrMa,起始20,结束30,步进5\n", + "setting.addParameter('rsiLength', 5) # 增加一个固定数值的参数\n", + "\n", + "# 执行多进程优化\n", + "import time\n", + "engine.runParallelOptimization(AtrRsiStrategy, setting)\n", + "print u'耗时:%s' %(time.time()-start)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.13" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/examples/runCtaBacktesting/IF0000_1min.csv b/examples/CtaBacktesting/IF0000_1min.csv similarity index 100% rename from examples/runCtaBacktesting/IF0000_1min.csv rename to examples/CtaBacktesting/IF0000_1min.csv diff --git a/examples/CtaBacktesting/backtesting.ipynb b/examples/CtaBacktesting/backtesting.ipynb new file mode 100644 index 00000000..1de18e1d --- /dev/null +++ b/examples/CtaBacktesting/backtesting.ipynb @@ -0,0 +1,257 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "\n", + "from vnpy.trader.app.ctaStrategy.ctaBacktesting import BacktestingEngine, OptimizationSetting, MINUTE_DB_NAME\n", + "from vnpy.trader.app.ctaStrategy.strategy.strategyAtrRsi import AtrRsiStrategy" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 创建回测引擎对象\n", + "engine = BacktestingEngine()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# 设置回测使用的数据\n", + "engine.setBacktestingMode(engine.BAR_MODE) # 设置引擎的回测模式为K线\n", + "engine.setDatabase(MINUTE_DB_NAME, 'IF0000') # 设置使用的历史数据库\n", + "engine.setStartDate('20120101') # 设置回测用的数据起始日期" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 配置回测引擎参数\n", + "engine.setSlippage(0.2) # 设置滑点为股指1跳\n", + "engine.setRate(0.3/10000) # 设置手续费万0.3\n", + "engine.setSize(300) # 设置股指合约大小 \n", + "engine.setPriceTick(0.2) # 设置股指最小价格变动 " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 在引擎中创建策略对象\n", + "d = {'atrLength': 11} # 策略参数配置\n", + "engine.initStrategy(AtrRsiStrategy, d) # 创建策略对象" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2017-06-02 16:07:31.265000\t开始载入数据\n", + "2017-06-02 16:07:31.423000\t载入完成,数据量:331890\n", + "2017-06-02 16:07:31.423000\t开始回测\n", + "2017-06-02 16:07:31.441000\t策略初始化完成\n", + "2017-06-02 16:07:31.441000\t策略启动完成\n", + "2017-06-02 16:07:31.442000\t开始回放数据\n", + "2017-06-02 16:07:54.738000\t数据回放结束\n" + ] + } + ], + "source": [ + "# 运行回测\n", + "engine.runBacktesting() # 运行回测" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2017-06-02 16:09:14.068000\t计算回测结果\n", + "2017-06-02 16:09:14.134000\t------------------------------\n", + "2017-06-02 16:09:14.134000\t第一笔交易:\t2012-01-11 10:18:00\n", + "2017-06-02 16:09:14.134000\t最后一笔交易:\t2017-03-20 09:31:00\n", + "2017-06-02 16:09:14.134000\t总交易次数:\t3,749.0\n", + "2017-06-02 16:09:14.134000\t总盈亏:\t683,717.31\n", + "2017-06-02 16:09:14.134000\t最大回撤: \t-215,542.46\n", + "2017-06-02 16:09:14.134000\t平均每笔盈利:\t182.37\n", + "2017-06-02 16:09:14.134000\t平均每笔滑点:\t120.0\n", + "2017-06-02 16:09:14.134000\t平均每笔佣金:\t57.75\n", + "2017-06-02 16:09:14.134000\t胜率\t\t37.24%\n", + "2017-06-02 16:09:14.134000\t盈利交易平均值\t8,539.01\n", + "2017-06-02 16:09:14.134000\t亏损交易平均值\t-4,775.5\n", + "2017-06-02 16:09:14.134000\t盈亏比:\t1.79\n" + ] + }, + { + "data": { + "image/png": "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\nAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 显示回测结果\n", + "engine.showBacktestingResult()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'orderID': '1', 'direction': u'\\u591a', 'gatewayName': '', 'tradeID': '1', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-11 09:18:00', 'rawData': None, 'vtTradeID': '1', 'offset': u'\\u5f00\\u4ed3', 'vtOrderID': '1', 'dt': datetime.datetime(2012, 1, 11, 9, 18), 'price': 2464.4, 'vtSymbol': ''}\n", + "{'orderID': '2', 'direction': u'\\u7a7a', 'gatewayName': '', 'tradeID': '2', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-11 10:18:00', 'rawData': None, 'vtTradeID': '2', 'offset': u'\\u5e73\\u4ed3', 'vtOrderID': '2', 'dt': datetime.datetime(2012, 1, 11, 10, 18), 'price': 2448.8, 'vtSymbol': ''}\n", + "{'orderID': '3', 'direction': u'\\u7a7a', 'gatewayName': '', 'tradeID': '3', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-11 10:19:00', 'rawData': None, 'vtTradeID': '3', 'offset': u'\\u5f00\\u4ed3', 'vtOrderID': '3', 'dt': datetime.datetime(2012, 1, 11, 10, 19), 'price': 2448.4, 'vtSymbol': ''}\n", + "{'orderID': '4', 'direction': u'\\u591a', 'gatewayName': '', 'tradeID': '4', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-11 14:21:00', 'rawData': None, 'vtTradeID': '4', 'offset': u'\\u5e73\\u4ed3', 'vtOrderID': '4', 'dt': datetime.datetime(2012, 1, 11, 14, 21), 'price': 2456.2000000000003, 'vtSymbol': ''}\n", + "{'orderID': '5', 'direction': u'\\u591a', 'gatewayName': '', 'tradeID': '5', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-11 14:22:00', 'rawData': None, 'vtTradeID': '5', 'offset': u'\\u5f00\\u4ed3', 'vtOrderID': '5', 'dt': datetime.datetime(2012, 1, 11, 14, 22), 'price': 2455.6, 'vtSymbol': ''}\n", + "{'orderID': '6', 'direction': u'\\u7a7a', 'gatewayName': '', 'tradeID': '6', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-11 14:57:00', 'rawData': None, 'vtTradeID': '6', 'offset': u'\\u5e73\\u4ed3', 'vtOrderID': '6', 'dt': datetime.datetime(2012, 1, 11, 14, 57), 'price': 2444.0, 'vtSymbol': ''}\n", + "{'orderID': '7', 'direction': u'\\u7a7a', 'gatewayName': '', 'tradeID': '7', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-11 14:58:00', 'rawData': None, 'vtTradeID': '7', 'offset': u'\\u5f00\\u4ed3', 'vtOrderID': '7', 'dt': datetime.datetime(2012, 1, 11, 14, 58), 'price': 2445.8, 'vtSymbol': ''}\n", + "{'orderID': '8', 'direction': u'\\u591a', 'gatewayName': '', 'tradeID': '8', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-12 09:51:00', 'rawData': None, 'vtTradeID': '8', 'offset': u'\\u5e73\\u4ed3', 'vtOrderID': '8', 'dt': datetime.datetime(2012, 1, 12, 9, 51), 'price': 2452.8, 'vtSymbol': ''}\n", + "{'orderID': '9', 'direction': u'\\u591a', 'gatewayName': '', 'tradeID': '9', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-12 09:52:00', 'rawData': None, 'vtTradeID': '9', 'offset': u'\\u5f00\\u4ed3', 'vtOrderID': '9', 'dt': datetime.datetime(2012, 1, 12, 9, 52), 'price': 2452.0, 'vtSymbol': ''}\n", + "{'orderID': '10', 'direction': u'\\u7a7a', 'gatewayName': '', 'tradeID': '10', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-12 10:31:00', 'rawData': None, 'vtTradeID': '10', 'offset': u'\\u5e73\\u4ed3', 'vtOrderID': '10', 'dt': datetime.datetime(2012, 1, 12, 10, 31), 'price': 2455.2000000000003, 'vtSymbol': ''}\n" + ] + } + ], + "source": [ + "# 显示前10条成交记录\n", + "for i in range(10):\n", + " print engine.tradeDict[str(i+1)].__dict__" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2017-06-02 16:13:08.744000\t------------------------------\n", + "2017-06-02 16:13:08.744000\t优化结果:\n", + "2017-06-02 16:13:08.744000\t{'rsiLength': 5, 'atrMa': 20, 'atrLength': 20}: 957797.864155\n", + "2017-06-02 16:13:08.744000\t{'rsiLength': 5, 'atrMa': 25, 'atrLength': 20}: 957797.864155\n", + "2017-06-02 16:13:08.744000\t{'rsiLength': 5, 'atrMa': 30, 'atrLength': 20}: 957797.864155\n", + "2017-06-02 16:13:08.744000\t{'rsiLength': 5, 'atrMa': 20, 'atrLength': 18}: 883361.518728\n", + "2017-06-02 16:13:08.744000\t{'rsiLength': 5, 'atrMa': 25, 'atrLength': 18}: 883361.518728\n", + "2017-06-02 16:13:08.744000\t{'rsiLength': 5, 'atrMa': 30, 'atrLength': 18}: 883361.518728\n", + "2017-06-02 16:13:08.744000\t{'rsiLength': 5, 'atrMa': 20, 'atrLength': 16}: 790520.582818\n", + "2017-06-02 16:13:08.744000\t{'rsiLength': 5, 'atrMa': 25, 'atrLength': 16}: 790520.582818\n", + "2017-06-02 16:13:08.744000\t{'rsiLength': 5, 'atrMa': 30, 'atrLength': 16}: 790520.582818\n", + "2017-06-02 16:13:08.745000\t{'rsiLength': 5, 'atrMa': 20, 'atrLength': 14}: 768931.704634\n", + "2017-06-02 16:13:08.745000\t{'rsiLength': 5, 'atrMa': 25, 'atrLength': 14}: 768931.704634\n", + "2017-06-02 16:13:08.745000\t{'rsiLength': 5, 'atrMa': 30, 'atrLength': 14}: 768931.704634\n", + "2017-06-02 16:13:08.745000\t{'rsiLength': 5, 'atrMa': 20, 'atrLength': 12}: 758396.03149\n", + "2017-06-02 16:13:08.745000\t{'rsiLength': 5, 'atrMa': 25, 'atrLength': 12}: 758396.03149\n", + "2017-06-02 16:13:08.745000\t{'rsiLength': 5, 'atrMa': 30, 'atrLength': 12}: 758396.03149\n" + ] + }, + { + "ename": "NameError", + "evalue": "name 'start' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 9\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mtime\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 10\u001b[0m \u001b[0mengine\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrunParallelOptimization\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mAtrRsiStrategy\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msetting\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 11\u001b[1;33m \u001b[1;32mprint\u001b[0m \u001b[1;34mu'耗时:%s'\u001b[0m \u001b[1;33m%\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtime\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtime\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m-\u001b[0m\u001b[0mstart\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;31mNameError\u001b[0m: name 'start' is not defined" + ] + } + ], + "source": [ + "# 优化配置\n", + "setting = OptimizationSetting() # 新建一个优化任务设置对象\n", + "setting.setOptimizeTarget('capital') # 设置优化排序的目标是策略净盈利\n", + "setting.addParameter('atrLength', 12, 20, 2) # 增加第一个优化参数atrLength,起始12,结束20,步进2\n", + "setting.addParameter('atrMa', 20, 30, 5) # 增加第二个优化参数atrMa,起始20,结束30,步进5\n", + "setting.addParameter('rsiLength', 5) # 增加一个固定数值的参数\n", + "\n", + "# 执行多进程优化\n", + "import time\n", + "engine.runParallelOptimization(AtrRsiStrategy, setting)\n", + "print u'耗时:%s' %(time.time()-start)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.13" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/examples/runCtaBacktesting/loadCsv.py b/examples/CtaBacktesting/loadCsv.py similarity index 100% rename from examples/runCtaBacktesting/loadCsv.py rename to examples/CtaBacktesting/loadCsv.py diff --git a/examples/runCtaBacktesting/runBacktesting.py b/examples/CtaBacktesting/runBacktesting.py similarity index 100% rename from examples/runCtaBacktesting/runBacktesting.py rename to examples/CtaBacktesting/runBacktesting.py diff --git a/examples/runCtaBacktesting/runOptimization.py b/examples/CtaBacktesting/runOptimization.py similarity index 100% rename from examples/runCtaBacktesting/runOptimization.py rename to examples/CtaBacktesting/runOptimization.py diff --git a/examples/runVnTrader/VnTrader.bat b/examples/VnTrader/VnTrader.bat similarity index 100% rename from examples/runVnTrader/VnTrader.bat rename to examples/VnTrader/VnTrader.bat diff --git a/examples/runVnTrader/run.py b/examples/VnTrader/run.py similarity index 100% rename from examples/runVnTrader/run.py rename to examples/VnTrader/run.py diff --git a/setup.py b/setup.py index 3ec57f27..1374cb3b 100644 --- a/setup.py +++ b/setup.py @@ -1,14 +1,29 @@ # encoding: UTF-8 +''' +vn.py - By Traders, For Traders. + +The vn.py project is an open-source quantitative trading framework +that is developed by traders, for traders. + +The project is mainly written in Python and uses C++ for low-layer +and performance sensitive infrastructure. + +Using the vn.py project, institutional investors and professional +traders, such as hedge funds, prop trading firms and investment banks, +can easily develop complex trading strategies with the Event Engine +Strategy Module, and automatically route their orders to the most +desired destinations, including equity, commodity, forex and many +other financial markets. +''' + + import os from setuptools import setup import vnpy -long_desc = """ -""" - def getSubpackages(name): """获取该模块下所有的子模块名称""" splist = [] @@ -23,18 +38,24 @@ def getSubpackages(name): setup( name='vnpy', version=vnpy.__version__, - description='A framework for developing quantitative trading strategy', - long_description = long_desc, author=vnpy.__author__, author_email='vn.py@foxmail.com', license='MIT', url='http://www.vnpy.org', - keywords='Python quantitative trading framework', + description='A framework for developing quantitative trading programmes', + long_description = __doc__, + keywords='quant quantitative investment trading algotrading', classifiers=['Development Status :: 4 - Beta', + 'Environment :: Quantiative Trading', + 'Operating System :: Windows 7', + 'Operating System :: Windows 8', + 'Operating System :: Windows 10', + 'Operating System :: Windows Server 2008', 'Programming Language :: Python :: 2.7', 'License :: OSI Approved :: MIT License'], packages=getSubpackages('vnpy'), package_data={'': ['*.json', '*.md', '*.ico', + '*.h', '*.cpp', '*.bash', '*.txt' '*.dll', '*.lib', '*.so', '*.pyd', '*.dat', '*.ini', '*.pfx', '*.scc', '*.crt', '*.key']}, ) \ No newline at end of file diff --git a/vnpy/__init__.py b/vnpy/__init__.py index 438e3a68..62d96b80 100644 --- a/vnpy/__init__.py +++ b/vnpy/__init__.py @@ -1,4 +1,4 @@ # encoding: UTF-8 __version__ = '1.6.2b' -__author__ = u'用Python的交易员' \ No newline at end of file +__author__ = 'Xiaoyou Chen' \ No newline at end of file diff --git a/vnpy/trader/app/ctaStrategy/strategy/.ipynb_checkpoints/backtesting-checkpoint.ipynb b/vnpy/trader/app/ctaStrategy/strategy/.ipynb_checkpoints/backtesting-checkpoint.ipynb deleted file mode 100644 index eb8e6fcb..00000000 --- a/vnpy/trader/app/ctaStrategy/strategy/.ipynb_checkpoints/backtesting-checkpoint.ipynb +++ /dev/null @@ -1,155 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "%matplotlib inline\n", - "\n", - "from vnpy.trader.ctaStrategy.ctaBacktesting import BacktestingEngine, MINUTE_DB_NAME\n", - "from vnpy.trader.ctaStrategy.strategy.strategyAtrRsi import AtrRsiStrategy" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "# 创建回测引擎对象\n", - "engine = BacktestingEngine()" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "# 设置回测使用的数据\n", - "engine.setBacktestingMode(engine.BAR_MODE) # 设置引擎的回测模式为K线\n", - "engine.setDatabase(MINUTE_DB_NAME, 'IF0000') # 设置使用的历史数据库\n", - "engine.setStartDate('20120101') # 设置回测用的数据起始日期" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "# 配置回测引擎参数\n", - "engine.setSlippage(0.2) # 设置滑点为股指1跳\n", - "engine.setRate(0.3/10000) # 设置手续费万0.3\n", - "engine.setSize(300) # 设置股指合约大小 \n", - "engine.setPriceTick(0.2) # 设置股指最小价格变动 " - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "# 在引擎中创建策略对象\n", - "d = {'atrLength': 11} # 策略参数配置\n", - "engine.initStrategy(AtrRsiStrategy, d) # 创建策略对象" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2017-05-09 06:14:07.610000\t开始载入数据\n", - "2017-05-09 06:14:07.702000\t载入完成,数据量:275971\n", - "2017-05-09 06:14:07.702000\t开始回测\n", - "2017-05-09 06:14:07.712000\t策略初始化完成\n", - "2017-05-09 06:14:07.712000\t策略启动完成\n", - "2017-05-09 06:14:07.712000\t开始回放数据\n", - "2017-05-09 06:14:15.346000\t数据回放结束\n", - "2017-05-09 06:14:15.346000\t计算回测结果\n", - "2017-05-09 06:14:15.370000\t------------------------------\n", - "2017-05-09 06:14:15.370000\t第一笔交易:\t2012-01-11 10:18:00\n", - "2017-05-09 06:14:15.370000\t最后一笔交易:\t2016-04-01 13:17:00\n", - "2017-05-09 06:14:15.370000\t总交易次数:\t3,501.0\n", - "2017-05-09 06:14:15.370000\t总盈亏:\t624,734.56\n", - "2017-05-09 06:14:15.370000\t最大回撤: \t-215,542.46\n", - "2017-05-09 06:14:15.370000\t平均每笔盈利:\t178.44\n", - "2017-05-09 06:14:15.370000\t平均每笔滑点:\t120.0\n", - "2017-05-09 06:14:15.370000\t平均每笔佣金:\t57.73\n", - "2017-05-09 06:14:15.370000\t胜率\t\t36.82%\n", - "2017-05-09 06:14:15.370000\t盈利交易平均值\t8,651.96\n", - "2017-05-09 06:14:15.370000\t亏损交易平均值\t-4,759.33\n", - "2017-05-09 06:14:15.370000\t盈亏比:\t1.82\n" - ] - }, - { - "data": { - "image/png": "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\nQMaMGfNYJwstMR44cIDu3bvTr18/Vq1aRWFhIZ6enhgYGHDv3j18fHzw9vYmMDCQl156SZYJzaOO\nS03kzNaov+3209GjR1m9ejXe3t7ExcWxaNEi5s2bx86dO4mMjGTZsmV07NgRU1NTysrKyMrKYt26\ndVRWVsrKqaenR3Z2NseOHWP37t3S33v37k3fvn2xs7MjLS2N9PR0ADIzM1m7dq2snPczqjtwvv76\n64SHh1NZWYm5uTnOzs4YGxtTWFhIVlYWK1eupLKyEjc3N1xdXbWWU26f/xVGdZt0ORPco47LjIwM\n1q1bh6urKwsXLmx2VfFxqDXEeWux5V/JRd988w2VlZUolUocHR01xlhbW4uNjQ0nTpwgOztb6g59\n8+ZNVqxYQWVlpbQFLof+yrjURM5sjfrbTWqEEABUVlbSp08fXnrpJebOncvZs2fJyckhPDyciooK\nAgICmDZtGqWlpZibm+Po6PhAHwO5VF5ezu7du3n22WfZu3cvd+/eRaFQSA+wp59+GpVKRWxsLDU1\nNTg5OcnOeT/jgQMHyMrKwsPDA39/f7788ksAHBwcyMnJwcrKSitsqa2crYGxKeefGZfOzs4sWLBA\nNs7WFOfabsu/yqnpXLR3716ys7OBxnNnwcHBODk5sWrVKs6cOUNJSYk0MdSNyydHf7vtJ/USckpK\nCiqVCkdHR8zNzbG1tWX58uW88cYb0jLq8uXL8fDwwNfXF319fdnOUNwvhUJBbW0tkyZNoqCggJiY\nGAIDA6XDjFZWVhQUFGBmZkbnzp01wtmUMTo6mmHDhhEQEMCuXbtITU1l06ZN9OrVi4CAAPT09GRj\nFE3KdbWRU93qXpsZ/xunNo3L+33eGuJcW2158+ZNrK2tJXtqI+efYRw6dCjOzs5MnToVf39/7O3t\nMTExoUuXLhgZGcnq79Y0Llut5Cmy0pzy8vLEiRMnpJI4dblmYmKimD9/voiPj5c+e/3118Xly5dF\nTk6O2L17t6xlxcnJyWLx4sXi/PnzUntrNZe69XVOTo6YPHmyVLqnLu28vzX249TVq1fF3LlzRXx8\nvCgvLxdCCKncsSljXFycEEKIgoICcf78eXHx4kVZGIUQIiUlRYSFhYn8/HyJq+lPTXMmJyeLrVu3\nitzcXIlJPTa1hVHNuXnzZnHnzh1RU1Pzh5yaGpdCNPp8+/btIjc394GSZ22K80eJH03aMjk5Wbz3\n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\nctMAAAAASUVORK5CYII=\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# 运行回测\n", - "engine.runBacktesting() # 运行回测" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "# 显示回测结果\n", - "engine.showBacktestingResult() " - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 2", - "language": "python", - "name": "python2" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 2 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.11" - } - }, - "nbformat": 4, - "nbformat_minor": 0 -} diff --git a/vnpy/trader/app/ctaStrategy/strategy/backtesting.ipynb b/vnpy/trader/app/ctaStrategy/strategy/backtesting.ipynb deleted file mode 100644 index 719b9348..00000000 --- a/vnpy/trader/app/ctaStrategy/strategy/backtesting.ipynb +++ /dev/null @@ -1,201 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "%matplotlib inline\n", - "\n", - "from vnpy.trader.ctaStrategy.ctaBacktesting import BacktestingEngine, MINUTE_DB_NAME\n", - "from vnpy.trader.ctaStrategy.strategy.strategyAtrRsi import AtrRsiStrategy" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "# 创建回测引擎对象\n", - "engine = BacktestingEngine()" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "# 设置回测使用的数据\n", - "engine.setBacktestingMode(engine.BAR_MODE) # 设置引擎的回测模式为K线\n", - "engine.setDatabase(MINUTE_DB_NAME, 'IF0000') # 设置使用的历史数据库\n", - "engine.setStartDate('20120101') # 设置回测用的数据起始日期" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "# 配置回测引擎参数\n", - "engine.setSlippage(0.2) # 设置滑点为股指1跳\n", - "engine.setRate(0.3/10000) # 设置手续费万0.3\n", - "engine.setSize(300) # 设置股指合约大小 \n", - "engine.setPriceTick(0.2) # 设置股指最小价格变动 " - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "# 在引擎中创建策略对象\n", - "d = {'atrLength': 11} # 策略参数配置\n", - "engine.initStrategy(AtrRsiStrategy, d) # 创建策略对象" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2017-05-09 06:24:06.267000\t开始载入数据\n", - "2017-05-09 06:24:06.343000\t载入完成,数据量:275971\n", - "2017-05-09 06:24:06.343000\t开始回测\n", - "2017-05-09 06:24:06.353000\t策略初始化完成\n", - "2017-05-09 06:24:06.353000\t策略启动完成\n", - "2017-05-09 06:24:06.353000\t开始回放数据\n", - "2017-05-09 06:24:14.304000\t数据回放结束\n" - ] - } - ], - "source": [ - "# 运行回测\n", - "engine.runBacktesting() # 运行回测" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2017-05-09 06:24:41.723000\t计算回测结果\n", - "2017-05-09 06:24:41.760000\t------------------------------\n", - "2017-05-09 06:24:41.761000\t第一笔交易:\t2012-01-11 10:18:00\n", - "2017-05-09 06:24:41.761000\t最后一笔交易:\t2016-04-01 13:17:00\n", - "2017-05-09 06:24:41.761000\t总交易次数:\t3,501.0\n", - "2017-05-09 06:24:41.761000\t总盈亏:\t624,734.56\n", - "2017-05-09 06:24:41.761000\t最大回撤: \t-215,542.46\n", - "2017-05-09 06:24:41.761000\t平均每笔盈利:\t178.44\n", - "2017-05-09 06:24:41.761000\t平均每笔滑点:\t120.0\n", - "2017-05-09 06:24:41.761000\t平均每笔佣金:\t57.73\n", - "2017-05-09 06:24:41.761000\t胜率\t\t36.82%\n", - "2017-05-09 06:24:41.761000\t盈利交易平均值\t8,651.96\n", - "2017-05-09 06:24:41.761000\t亏损交易平均值\t-4,759.33\n", - "2017-05-09 06:24:41.761000\t盈亏比:\t1.82\n" - ] - }, - { - "data": { - "image/png": "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\nQMaMGfNYJwstMR44cIDu3bvTr18/Vq1aRWFhIZ6enhgYGHDv3j18fHzw9vYmMDCQl156SZYJzaOO\nS03kzNaov+3209GjR1m9ejXe3t7ExcWxaNEi5s2bx86dO4mMjGTZsmV07NgRU1NTysrKyMrKYt26\ndVRWVsrKqaenR3Z2NseOHWP37t3S33v37k3fvn2xs7MjLS2N9PR0ADIzM1m7dq2snPczqjtwvv76\n64SHh1NZWYm5uTnOzs4YGxtTWFhIVlYWK1eupLKyEjc3N1xdXbWWU26f/xVGdZt0ORPco47LjIwM\n1q1bh6urKwsXLmx2VfFxqDXEeWux5V/JRd988w2VlZUolUocHR01xlhbW4uNjQ0nTpwgOztb6g59\n8+ZNVqxYQWVlpbQFLof+yrjURM5sjfrbTWqEEABUVlbSp08fXnrpJebOncvZs2fJyckhPDyciooK\nAgICmDZtGqWlpZibm+Po6PhAHwO5VF5ezu7du3n22WfZu3cvd+/eRaFQSA+wp59+GpVKRWxsLDU1\nNTg5OcnOeT/jgQMHyMrKwsPDA39/f7788ksAHBwcyMnJwcrKSitsqa2crYGxKeefGZfOzs4sWLBA\nNs7WFOfabsu/yqnpXLR3716ys7OBxnNnwcHBODk5sWrVKs6cOUNJSYk0MdSNyydHf7vtJ/USckpK\nCiqVCkdHR8zNzbG1tWX58uW88cYb0jLq8uXL8fDwwNfXF319fdnOUNwvhUJBbW0tkyZNoqCggJiY\nGAIDA6XDjFZWVhQUFGBmZkbnzp01wtmUMTo6mmHDhhEQEMCuXbtITU1l06ZN9OrVi4CAAPT09GRj\nFE3KdbWRU93qXpsZ/xunNo3L+33eGuJcW2158+ZNrK2tJXtqI+efYRw6dCjOzs5MnToVf39/7O3t\nMTExoUuXLhgZGcnq79Y0Llut5Cmy0pzy8vLEiRMnpJI4dblmYmKimD9/voiPj5c+e/3118Xly5dF\nTk6O2L17t6xlxcnJyWLx4sXi/PnzUntrNZe69XVOTo6YPHmyVLqnLu28vzX249TVq1fF3LlzRXx8\nvCgvLxdCCKncsSljXFycEEKIgoICcf78eXHx4kVZGIUQIiUlRYSFhYn8/HyJq+lPTXMmJyeLrVu3\nitzcXIlJPTa1hVHNuXnzZnHnzh1RU1Pzh5yaGpdCNPp8+/btIjc394GSZ22K80eJH03aMjk5Wbz3\n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\nctMAAAAASUVORK5CYII=\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# 显示回测结果\n", - "engine.showBacktestingResult()" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'orderID': '1', 'direction': u'\\u591a', 'gatewayName': '', 'tradeID': '1', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-11 09:18:00', 'rawData': None, 'vtTradeID': '1', 'offset': u'\\u5f00\\u4ed3', 'vtOrderID': '1', 'dt': datetime.datetime(2012, 1, 11, 9, 18), 'price': 2464.4, 'vtSymbol': ''}\n", - "{'orderID': '2', 'direction': u'\\u7a7a', 'gatewayName': '', 'tradeID': '2', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-11 10:18:00', 'rawData': None, 'vtTradeID': '2', 'offset': u'\\u5e73\\u4ed3', 'vtOrderID': '2', 'dt': datetime.datetime(2012, 1, 11, 10, 18), 'price': 2448.8, 'vtSymbol': ''}\n", - "{'orderID': '3', 'direction': u'\\u7a7a', 'gatewayName': '', 'tradeID': '3', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-11 10:19:00', 'rawData': None, 'vtTradeID': '3', 'offset': u'\\u5f00\\u4ed3', 'vtOrderID': '3', 'dt': datetime.datetime(2012, 1, 11, 10, 19), 'price': 2448.4, 'vtSymbol': ''}\n", - "{'orderID': '4', 'direction': u'\\u591a', 'gatewayName': '', 'tradeID': '4', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-11 14:21:00', 'rawData': None, 'vtTradeID': '4', 'offset': u'\\u5e73\\u4ed3', 'vtOrderID': '4', 'dt': datetime.datetime(2012, 1, 11, 14, 21), 'price': 2456.2000000000003, 'vtSymbol': ''}\n", - "{'orderID': '5', 'direction': u'\\u591a', 'gatewayName': '', 'tradeID': '5', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-11 14:22:00', 'rawData': None, 'vtTradeID': '5', 'offset': u'\\u5f00\\u4ed3', 'vtOrderID': '5', 'dt': datetime.datetime(2012, 1, 11, 14, 22), 'price': 2455.6, 'vtSymbol': ''}\n", - "{'orderID': '6', 'direction': u'\\u7a7a', 'gatewayName': '', 'tradeID': '6', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-11 14:57:00', 'rawData': None, 'vtTradeID': '6', 'offset': u'\\u5e73\\u4ed3', 'vtOrderID': '6', 'dt': datetime.datetime(2012, 1, 11, 14, 57), 'price': 2444.0, 'vtSymbol': ''}\n", - "{'orderID': '7', 'direction': u'\\u7a7a', 'gatewayName': '', 'tradeID': '7', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-11 14:58:00', 'rawData': None, 'vtTradeID': '7', 'offset': u'\\u5f00\\u4ed3', 'vtOrderID': '7', 'dt': datetime.datetime(2012, 1, 11, 14, 58), 'price': 2445.8, 'vtSymbol': ''}\n", - "{'orderID': '8', 'direction': u'\\u591a', 'gatewayName': '', 'tradeID': '8', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-12 09:51:00', 'rawData': None, 'vtTradeID': '8', 'offset': u'\\u5e73\\u4ed3', 'vtOrderID': '8', 'dt': datetime.datetime(2012, 1, 12, 9, 51), 'price': 2452.8, 'vtSymbol': ''}\n", - "{'orderID': '9', 'direction': u'\\u591a', 'gatewayName': '', 'tradeID': '9', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-12 09:52:00', 'rawData': None, 'vtTradeID': '9', 'offset': u'\\u5f00\\u4ed3', 'vtOrderID': '9', 'dt': datetime.datetime(2012, 1, 12, 9, 52), 'price': 2452.0, 'vtSymbol': ''}\n", - "{'orderID': '10', 'direction': u'\\u7a7a', 'gatewayName': '', 'tradeID': '10', 'exchange': '', 'symbol': '', 'volume': 0, 'tradeTime': '2012-01-12 10:31:00', 'rawData': None, 'vtTradeID': '10', 'offset': u'\\u5e73\\u4ed3', 'vtOrderID': '10', 'dt': datetime.datetime(2012, 1, 12, 10, 31), 'price': 2455.2000000000003, 'vtSymbol': ''}\n" - ] - } - ], - "source": [ - "# 显示成交记录\n", - "for i in range(10):\n", - " print engine.tradeDict[str(i+1)].__dict__" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 2", - "language": "python", - "name": "python2" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 2 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.11" - } - }, - "nbformat": 4, - "nbformat_minor": 0 -}