{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "from matplotlib import pyplot as plt\n",
    "from alphamind.api import *\n",
    "from PyFin.api import *\n",
    "from PyFin.Math.Accumulators.StatefulAccumulators import MovingAverage\n",
    "from PyFin.Math.Accumulators.StatefulAccumulators import MovingSharp\n",
    "from PyFin.Math.Accumulators.StatefulAccumulators import MovingMaxDrawdown\n",
    "\n",
    "plt.style.use('ggplot')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "\"\"\"\n",
    "Back test parameter settings\n",
    "\"\"\"\n",
    "\n",
    "start_date = '2012-01-01'\n",
    "end_date = '2018-01-02'\n",
    "benchmark_code = 300\n",
    "universe_name = ['zz500', 'hs300']\n",
    "universe = Universe(universe_name, universe_name)\n",
    "frequency = '5b'\n",
    "batch = 8\n",
    "method = 'risk_neutral'\n",
    "use_rank = 100\n",
    "industry_lower = 1.\n",
    "industry_upper = 1.\n",
    "neutralize_risk = ['SIZE', 'LEVERAGE'] + industry_styles\n",
    "constraint_risk = ['SIZE', 'LEVERAGE'] + industry_styles\n",
    "size_risk_lower = 0\n",
    "size_risk_upper = 0\n",
    "turn_over_target_base = 0.25\n",
    "weight_gaps = [0.02]\n",
    "benchmark_total_lower = 0.8\n",
    "benchmark_total_upper = 1.\n",
    "horizon = map_freq(frequency)\n",
    "hedging_ratio = 0.\n",
    "\n",
    "executor = NaiveExecutor()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "\"\"\"\n",
    "Model phase: we need 1 constant linear model and one alpha model\n",
    "\"\"\"\n",
    "\n",
    "const_features_keys = ['roe_q_raw',\n",
    "                       'ep_q_raw',\n",
    "                       'DivP_raw',\n",
    "                       'cfinc1_q_raw',\n",
    "                       'EBIT_raw',\n",
    "                       'EARNYILD_raw',\n",
    "                       'EPIBS_raw']\n",
    "\n",
    "const_weights = [0.2,\n",
    "                 0.2,\n",
    "                 0.1,\n",
    "                 0.15,\n",
    "                 0.10,\n",
    "                 0.10,\n",
    "                 0.10]\n",
    "\n",
    "const_weights = pd.Series(const_weights,\n",
    "                          index=const_features_keys)\n",
    "\n",
    "const_model = ConstLinearModel(features=const_features_keys,\n",
    "                               weights=const_weights)\n",
    "\n",
    "linear_model_features = {\n",
    "    'ep_q_raw': LAST('ep_q'),\n",
    "    'roe_q_raw': LAST('roe_q'),\n",
    "    #'con_np_rolling_raw': LAST('con_np_rolling'),\n",
    "    'DivP_raw': LAST('DivP'),\n",
    "    'cfinc1_q_raw': LAST('cfinc1_q'),\n",
    "    'EBIT_raw': LAST('EBIT'),\n",
    "    'EARNYILD_raw': LAST('EARNYILD'),\n",
    "    'EPIBS_raw': LAST('EPIBS')\n",
    "}\n",
    "\n",
    "total_features = {\n",
    "    'IVR_raw': LAST('IVR'),\n",
    "    'DivP_raw': LAST('DivP'),\n",
    "    'cfinc1_q_raw': LAST('cfinc1_q'),\n",
    "    'CFinc1_raw': LAST('CFinc1'),\n",
    "    'roe_q_raw': LAST('roe_q'),\n",
    "    'ep_q_raw': LAST('ep_q'),\n",
    "    'EBIT_raw': LAST('EBIT'),\n",
    "    'EARNYILD_raw': LAST('EARNYILD'),\n",
    "    'EPIBS_raw': LAST('EPIBS')\n",
    "}\n",
    "\n",
    "total_features_keys = list(total_features.keys())\n",
    "\n",
    "model1_weight = 1.\n",
    "model2_weight = 0.5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:34:53,014 - ALPHA_MIND - INFO - Starting data package fetching ...\n",
      "2018-01-03 16:35:35,374 - ALPHA_MIND - INFO - Loading data is finished\n",
      "2018-01-03 16:35:38,403 - ALPHA_MIND - INFO - Data processing is finished\n"
     ]
    }
   ],
   "source": [
    "\"\"\"\n",
    "Data phase\n",
    "\"\"\"\n",
    "\n",
    "engine = SqlEngine()\n",
    "\n",
    "linear_model_factor_data = fetch_data_package(engine,\n",
    "                                              alpha_factors=linear_model_features,\n",
    "                                              start_date=start_date,\n",
    "                                              end_date=end_date,\n",
    "                                              frequency=frequency,\n",
    "                                              universe=universe,\n",
    "                                              benchmark=benchmark_code,\n",
    "                                              batch=batch,\n",
    "                                              neutralized_risk=neutralize_risk,\n",
    "                                              pre_process=[winsorize_normal, standardize],\n",
    "                                              post_process=[winsorize_normal, standardize],\n",
    "                                              warm_start=batch)\n",
    "\n",
    "linear_model_features_keys = linear_model_factor_data['x_names']\n",
    "\n",
    "train_x = linear_model_factor_data['train']['x']\n",
    "train_y = linear_model_factor_data['train']['y']\n",
    "ref_dates = sorted(train_x.keys())\n",
    "\n",
    "predict_x = linear_model_factor_data['predict']['x']\n",
    "predict_y = linear_model_factor_data['predict']['y']\n",
    "settlement = linear_model_factor_data['settlement']\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:35:45,678 - ALPHA_MIND - INFO - trade_date: 2012-02-08 00:00:00 training finished\n",
      "2018-01-03 16:35:45,684 - ALPHA_MIND - INFO - trade_date: 2012-02-15 00:00:00 training finished\n",
      "2018-01-03 16:35:45,689 - ALPHA_MIND - INFO - trade_date: 2012-02-22 00:00:00 training finished\n",
      "2018-01-03 16:35:45,694 - ALPHA_MIND - INFO - trade_date: 2012-02-29 00:00:00 training finished\n",
      "2018-01-03 16:35:45,698 - ALPHA_MIND - INFO - trade_date: 2012-03-07 00:00:00 training finished\n",
      "2018-01-03 16:35:45,701 - ALPHA_MIND - INFO - trade_date: 2012-03-14 00:00:00 training finished\n",
      "2018-01-03 16:35:45,706 - ALPHA_MIND - INFO - trade_date: 2012-03-21 00:00:00 training finished\n",
      "2018-01-03 16:35:45,711 - ALPHA_MIND - INFO - trade_date: 2012-03-28 00:00:00 training finished\n",
      "2018-01-03 16:35:45,716 - ALPHA_MIND - INFO - trade_date: 2012-04-09 00:00:00 training finished\n",
      "2018-01-03 16:35:45,722 - ALPHA_MIND - INFO - trade_date: 2012-04-16 00:00:00 training finished\n",
      "2018-01-03 16:35:45,728 - ALPHA_MIND - INFO - trade_date: 2012-04-23 00:00:00 training finished\n",
      "2018-01-03 16:35:45,731 - ALPHA_MIND - INFO - trade_date: 2012-05-02 00:00:00 training finished\n",
      "2018-01-03 16:35:45,735 - ALPHA_MIND - INFO - trade_date: 2012-05-09 00:00:00 training finished\n",
      "2018-01-03 16:35:45,741 - ALPHA_MIND - INFO - trade_date: 2012-05-16 00:00:00 training finished\n",
      "2018-01-03 16:35:45,747 - ALPHA_MIND - INFO - trade_date: 2012-05-23 00:00:00 training finished\n",
      "2018-01-03 16:35:45,753 - ALPHA_MIND - INFO - trade_date: 2012-05-30 00:00:00 training finished\n",
      "2018-01-03 16:35:45,758 - ALPHA_MIND - INFO - trade_date: 2012-06-06 00:00:00 training finished\n",
      "2018-01-03 16:35:45,762 - ALPHA_MIND - INFO - trade_date: 2012-06-13 00:00:00 training finished\n",
      "2018-01-03 16:35:45,766 - ALPHA_MIND - INFO - trade_date: 2012-06-20 00:00:00 training finished\n",
      "2018-01-03 16:35:45,771 - ALPHA_MIND - INFO - trade_date: 2012-06-28 00:00:00 training finished\n",
      "2018-01-03 16:35:45,776 - ALPHA_MIND - INFO - trade_date: 2012-07-05 00:00:00 training finished\n",
      "2018-01-03 16:35:45,782 - ALPHA_MIND - INFO - trade_date: 2012-07-12 00:00:00 training finished\n",
      "2018-01-03 16:35:45,787 - ALPHA_MIND - INFO - trade_date: 2012-07-19 00:00:00 training finished\n",
      "2018-01-03 16:35:45,793 - ALPHA_MIND - INFO - trade_date: 2012-07-26 00:00:00 training finished\n",
      "2018-01-03 16:35:45,797 - ALPHA_MIND - INFO - trade_date: 2012-08-02 00:00:00 training finished\n",
      "2018-01-03 16:35:45,802 - ALPHA_MIND - INFO - trade_date: 2012-08-09 00:00:00 training finished\n",
      "2018-01-03 16:35:45,806 - ALPHA_MIND - INFO - trade_date: 2012-08-16 00:00:00 training finished\n",
      "2018-01-03 16:35:45,811 - ALPHA_MIND - INFO - trade_date: 2012-08-23 00:00:00 training finished\n",
      "2018-01-03 16:35:45,815 - ALPHA_MIND - INFO - trade_date: 2012-08-30 00:00:00 training finished\n",
      "2018-01-03 16:35:45,819 - ALPHA_MIND - INFO - trade_date: 2012-09-06 00:00:00 training finished\n",
      "2018-01-03 16:35:45,823 - ALPHA_MIND - INFO - trade_date: 2012-09-13 00:00:00 training finished\n",
      "2018-01-03 16:35:45,827 - ALPHA_MIND - INFO - trade_date: 2012-09-20 00:00:00 training finished\n",
      "2018-01-03 16:35:45,832 - ALPHA_MIND - INFO - trade_date: 2012-09-27 00:00:00 training finished\n",
      "2018-01-03 16:35:45,837 - ALPHA_MIND - INFO - trade_date: 2012-10-11 00:00:00 training finished\n",
      "2018-01-03 16:35:45,840 - ALPHA_MIND - INFO - trade_date: 2012-10-18 00:00:00 training finished\n",
      "2018-01-03 16:35:45,843 - ALPHA_MIND - INFO - trade_date: 2012-10-25 00:00:00 training finished\n",
      "2018-01-03 16:35:45,846 - ALPHA_MIND - INFO - trade_date: 2012-11-01 00:00:00 training finished\n",
      "2018-01-03 16:35:45,849 - ALPHA_MIND - INFO - trade_date: 2012-11-08 00:00:00 training finished\n",
      "2018-01-03 16:35:45,854 - ALPHA_MIND - INFO - trade_date: 2012-11-15 00:00:00 training finished\n",
      "2018-01-03 16:35:45,857 - ALPHA_MIND - INFO - trade_date: 2012-11-22 00:00:00 training finished\n",
      "2018-01-03 16:35:45,860 - ALPHA_MIND - INFO - trade_date: 2012-11-29 00:00:00 training finished\n",
      "2018-01-03 16:35:45,864 - ALPHA_MIND - INFO - trade_date: 2012-12-06 00:00:00 training finished\n",
      "2018-01-03 16:35:45,868 - ALPHA_MIND - INFO - trade_date: 2012-12-13 00:00:00 training finished\n",
      "2018-01-03 16:35:45,872 - ALPHA_MIND - INFO - trade_date: 2012-12-20 00:00:00 training finished\n",
      "2018-01-03 16:35:45,876 - ALPHA_MIND - INFO - trade_date: 2012-12-27 00:00:00 training finished\n",
      "2018-01-03 16:35:45,880 - ALPHA_MIND - INFO - trade_date: 2013-01-08 00:00:00 training finished\n",
      "2018-01-03 16:35:45,883 - ALPHA_MIND - INFO - trade_date: 2013-01-15 00:00:00 training finished\n",
      "2018-01-03 16:35:45,887 - ALPHA_MIND - INFO - trade_date: 2013-01-22 00:00:00 training finished\n",
      "2018-01-03 16:35:45,891 - ALPHA_MIND - INFO - trade_date: 2013-01-29 00:00:00 training finished\n",
      "2018-01-03 16:35:45,896 - ALPHA_MIND - INFO - trade_date: 2013-02-05 00:00:00 training finished\n",
      "2018-01-03 16:35:45,900 - ALPHA_MIND - INFO - trade_date: 2013-02-19 00:00:00 training finished\n",
      "2018-01-03 16:35:45,906 - ALPHA_MIND - INFO - trade_date: 2013-02-26 00:00:00 training finished\n",
      "2018-01-03 16:35:45,910 - ALPHA_MIND - INFO - trade_date: 2013-03-05 00:00:00 training finished\n",
      "2018-01-03 16:35:45,914 - ALPHA_MIND - INFO - trade_date: 2013-03-12 00:00:00 training finished\n",
      "2018-01-03 16:35:45,917 - ALPHA_MIND - INFO - trade_date: 2013-03-19 00:00:00 training finished\n",
      "2018-01-03 16:35:45,921 - ALPHA_MIND - INFO - trade_date: 2013-03-26 00:00:00 training finished\n",
      "2018-01-03 16:35:45,925 - ALPHA_MIND - INFO - trade_date: 2013-04-02 00:00:00 training finished\n",
      "2018-01-03 16:35:45,928 - ALPHA_MIND - INFO - trade_date: 2013-04-11 00:00:00 training finished\n",
      "2018-01-03 16:35:45,932 - ALPHA_MIND - INFO - trade_date: 2013-04-18 00:00:00 training finished\n",
      "2018-01-03 16:35:45,937 - ALPHA_MIND - INFO - trade_date: 2013-04-25 00:00:00 training finished\n",
      "2018-01-03 16:35:45,942 - ALPHA_MIND - INFO - trade_date: 2013-05-07 00:00:00 training finished\n",
      "2018-01-03 16:35:45,946 - ALPHA_MIND - INFO - trade_date: 2013-05-14 00:00:00 training finished\n",
      "2018-01-03 16:35:45,949 - ALPHA_MIND - INFO - trade_date: 2013-05-21 00:00:00 training finished\n",
      "2018-01-03 16:35:45,953 - ALPHA_MIND - INFO - trade_date: 2013-05-28 00:00:00 training finished\n",
      "2018-01-03 16:35:45,956 - ALPHA_MIND - INFO - trade_date: 2013-06-04 00:00:00 training finished\n",
      "2018-01-03 16:35:45,960 - ALPHA_MIND - INFO - trade_date: 2013-06-14 00:00:00 training finished\n",
      "2018-01-03 16:35:45,964 - ALPHA_MIND - INFO - trade_date: 2013-06-21 00:00:00 training finished\n",
      "2018-01-03 16:35:45,968 - ALPHA_MIND - INFO - trade_date: 2013-06-28 00:00:00 training finished\n",
      "2018-01-03 16:35:45,971 - ALPHA_MIND - INFO - trade_date: 2013-07-05 00:00:00 training finished\n",
      "2018-01-03 16:35:45,976 - ALPHA_MIND - INFO - trade_date: 2013-07-12 00:00:00 training finished\n",
      "2018-01-03 16:35:45,980 - ALPHA_MIND - INFO - trade_date: 2013-07-19 00:00:00 training finished\n",
      "2018-01-03 16:35:45,986 - ALPHA_MIND - INFO - trade_date: 2013-07-26 00:00:00 training finished\n",
      "2018-01-03 16:35:45,992 - ALPHA_MIND - INFO - trade_date: 2013-08-02 00:00:00 training finished\n",
      "2018-01-03 16:35:45,996 - ALPHA_MIND - INFO - trade_date: 2013-08-09 00:00:00 training finished\n",
      "2018-01-03 16:35:46,000 - ALPHA_MIND - INFO - trade_date: 2013-08-16 00:00:00 training finished\n",
      "2018-01-03 16:35:46,004 - ALPHA_MIND - INFO - trade_date: 2013-08-23 00:00:00 training finished\n",
      "2018-01-03 16:35:46,008 - ALPHA_MIND - INFO - trade_date: 2013-08-30 00:00:00 training finished\n",
      "2018-01-03 16:35:46,012 - ALPHA_MIND - INFO - trade_date: 2013-09-06 00:00:00 training finished\n",
      "2018-01-03 16:35:46,017 - ALPHA_MIND - INFO - trade_date: 2013-09-13 00:00:00 training finished\n",
      "2018-01-03 16:35:46,022 - ALPHA_MIND - INFO - trade_date: 2013-09-24 00:00:00 training finished\n",
      "2018-01-03 16:35:46,026 - ALPHA_MIND - INFO - trade_date: 2013-10-08 00:00:00 training finished\n",
      "2018-01-03 16:35:46,030 - ALPHA_MIND - INFO - trade_date: 2013-10-15 00:00:00 training finished\n",
      "2018-01-03 16:35:46,034 - ALPHA_MIND - INFO - trade_date: 2013-10-22 00:00:00 training finished\n",
      "2018-01-03 16:35:46,040 - ALPHA_MIND - INFO - trade_date: 2013-10-29 00:00:00 training finished\n",
      "2018-01-03 16:35:46,046 - ALPHA_MIND - INFO - trade_date: 2013-11-05 00:00:00 training finished\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:35:46,050 - ALPHA_MIND - INFO - trade_date: 2013-11-12 00:00:00 training finished\n",
      "2018-01-03 16:35:46,056 - ALPHA_MIND - INFO - trade_date: 2013-11-19 00:00:00 training finished\n",
      "2018-01-03 16:35:46,060 - ALPHA_MIND - INFO - trade_date: 2013-11-26 00:00:00 training finished\n",
      "2018-01-03 16:35:46,063 - ALPHA_MIND - INFO - trade_date: 2013-12-03 00:00:00 training finished\n",
      "2018-01-03 16:35:46,067 - ALPHA_MIND - INFO - trade_date: 2013-12-10 00:00:00 training finished\n",
      "2018-01-03 16:35:46,070 - ALPHA_MIND - INFO - trade_date: 2013-12-17 00:00:00 training finished\n",
      "2018-01-03 16:35:46,074 - ALPHA_MIND - INFO - trade_date: 2013-12-24 00:00:00 training finished\n",
      "2018-01-03 16:35:46,078 - ALPHA_MIND - INFO - trade_date: 2013-12-31 00:00:00 training finished\n",
      "2018-01-03 16:35:46,082 - ALPHA_MIND - INFO - trade_date: 2014-01-08 00:00:00 training finished\n",
      "2018-01-03 16:35:46,086 - ALPHA_MIND - INFO - trade_date: 2014-01-15 00:00:00 training finished\n",
      "2018-01-03 16:35:46,090 - ALPHA_MIND - INFO - trade_date: 2014-01-22 00:00:00 training finished\n",
      "2018-01-03 16:35:46,096 - ALPHA_MIND - INFO - trade_date: 2014-01-29 00:00:00 training finished\n",
      "2018-01-03 16:35:46,101 - ALPHA_MIND - INFO - trade_date: 2014-02-12 00:00:00 training finished\n",
      "2018-01-03 16:35:46,106 - ALPHA_MIND - INFO - trade_date: 2014-02-19 00:00:00 training finished\n",
      "2018-01-03 16:35:46,111 - ALPHA_MIND - INFO - trade_date: 2014-02-26 00:00:00 training finished\n",
      "2018-01-03 16:35:46,116 - ALPHA_MIND - INFO - trade_date: 2014-03-05 00:00:00 training finished\n",
      "2018-01-03 16:35:46,120 - ALPHA_MIND - INFO - trade_date: 2014-03-12 00:00:00 training finished\n",
      "2018-01-03 16:35:46,125 - ALPHA_MIND - INFO - trade_date: 2014-03-19 00:00:00 training finished\n",
      "2018-01-03 16:35:46,129 - ALPHA_MIND - INFO - trade_date: 2014-03-26 00:00:00 training finished\n",
      "2018-01-03 16:35:46,134 - ALPHA_MIND - INFO - trade_date: 2014-04-02 00:00:00 training finished\n",
      "2018-01-03 16:35:46,138 - ALPHA_MIND - INFO - trade_date: 2014-04-10 00:00:00 training finished\n",
      "2018-01-03 16:35:46,144 - ALPHA_MIND - INFO - trade_date: 2014-04-17 00:00:00 training finished\n",
      "2018-01-03 16:35:46,149 - ALPHA_MIND - INFO - trade_date: 2014-04-24 00:00:00 training finished\n",
      "2018-01-03 16:35:46,155 - ALPHA_MIND - INFO - trade_date: 2014-05-05 00:00:00 training finished\n",
      "2018-01-03 16:35:46,159 - ALPHA_MIND - INFO - trade_date: 2014-05-12 00:00:00 training finished\n",
      "2018-01-03 16:35:46,163 - ALPHA_MIND - INFO - trade_date: 2014-05-19 00:00:00 training finished\n",
      "2018-01-03 16:35:46,167 - ALPHA_MIND - INFO - trade_date: 2014-05-26 00:00:00 training finished\n",
      "2018-01-03 16:35:46,172 - ALPHA_MIND - INFO - trade_date: 2014-06-03 00:00:00 training finished\n",
      "2018-01-03 16:35:46,177 - ALPHA_MIND - INFO - trade_date: 2014-06-10 00:00:00 training finished\n",
      "2018-01-03 16:35:46,180 - ALPHA_MIND - INFO - trade_date: 2014-06-17 00:00:00 training finished\n",
      "2018-01-03 16:35:46,185 - ALPHA_MIND - INFO - trade_date: 2014-06-24 00:00:00 training finished\n",
      "2018-01-03 16:35:46,190 - ALPHA_MIND - INFO - trade_date: 2014-07-01 00:00:00 training finished\n",
      "2018-01-03 16:35:46,193 - ALPHA_MIND - INFO - trade_date: 2014-07-08 00:00:00 training finished\n",
      "2018-01-03 16:35:46,198 - ALPHA_MIND - INFO - trade_date: 2014-07-15 00:00:00 training finished\n",
      "2018-01-03 16:35:46,201 - ALPHA_MIND - INFO - trade_date: 2014-07-22 00:00:00 training finished\n",
      "2018-01-03 16:35:46,205 - ALPHA_MIND - INFO - trade_date: 2014-07-29 00:00:00 training finished\n",
      "2018-01-03 16:35:46,210 - ALPHA_MIND - INFO - trade_date: 2014-08-05 00:00:00 training finished\n",
      "2018-01-03 16:35:46,213 - ALPHA_MIND - INFO - trade_date: 2014-08-12 00:00:00 training finished\n",
      "2018-01-03 16:35:46,217 - ALPHA_MIND - INFO - trade_date: 2014-08-19 00:00:00 training finished\n",
      "2018-01-03 16:35:46,221 - ALPHA_MIND - INFO - trade_date: 2014-08-26 00:00:00 training finished\n",
      "2018-01-03 16:35:46,225 - ALPHA_MIND - INFO - trade_date: 2014-09-02 00:00:00 training finished\n",
      "2018-01-03 16:35:46,229 - ALPHA_MIND - INFO - trade_date: 2014-09-10 00:00:00 training finished\n",
      "2018-01-03 16:35:46,232 - ALPHA_MIND - INFO - trade_date: 2014-09-17 00:00:00 training finished\n",
      "2018-01-03 16:35:46,235 - ALPHA_MIND - INFO - trade_date: 2014-09-24 00:00:00 training finished\n",
      "2018-01-03 16:35:46,240 - ALPHA_MIND - INFO - trade_date: 2014-10-08 00:00:00 training finished\n",
      "2018-01-03 16:35:46,243 - ALPHA_MIND - INFO - trade_date: 2014-10-15 00:00:00 training finished\n",
      "2018-01-03 16:35:46,247 - ALPHA_MIND - INFO - trade_date: 2014-10-22 00:00:00 training finished\n",
      "2018-01-03 16:35:46,253 - ALPHA_MIND - INFO - trade_date: 2014-10-29 00:00:00 training finished\n",
      "2018-01-03 16:35:46,257 - ALPHA_MIND - INFO - trade_date: 2014-11-05 00:00:00 training finished\n",
      "2018-01-03 16:35:46,262 - ALPHA_MIND - INFO - trade_date: 2014-11-12 00:00:00 training finished\n",
      "2018-01-03 16:35:46,265 - ALPHA_MIND - INFO - trade_date: 2014-11-19 00:00:00 training finished\n",
      "2018-01-03 16:35:46,269 - ALPHA_MIND - INFO - trade_date: 2014-11-26 00:00:00 training finished\n",
      "2018-01-03 16:35:46,274 - ALPHA_MIND - INFO - trade_date: 2014-12-03 00:00:00 training finished\n",
      "2018-01-03 16:35:46,278 - ALPHA_MIND - INFO - trade_date: 2014-12-10 00:00:00 training finished\n",
      "2018-01-03 16:35:46,282 - ALPHA_MIND - INFO - trade_date: 2014-12-17 00:00:00 training finished\n",
      "2018-01-03 16:35:46,286 - ALPHA_MIND - INFO - trade_date: 2014-12-24 00:00:00 training finished\n",
      "2018-01-03 16:35:46,291 - ALPHA_MIND - INFO - trade_date: 2014-12-31 00:00:00 training finished\n",
      "2018-01-03 16:35:46,295 - ALPHA_MIND - INFO - trade_date: 2015-01-09 00:00:00 training finished\n",
      "2018-01-03 16:35:46,300 - ALPHA_MIND - INFO - trade_date: 2015-01-16 00:00:00 training finished\n",
      "2018-01-03 16:35:46,305 - ALPHA_MIND - INFO - trade_date: 2015-01-23 00:00:00 training finished\n",
      "2018-01-03 16:35:46,308 - ALPHA_MIND - INFO - trade_date: 2015-01-30 00:00:00 training finished\n",
      "2018-01-03 16:35:46,312 - ALPHA_MIND - INFO - trade_date: 2015-02-06 00:00:00 training finished\n",
      "2018-01-03 16:35:46,317 - ALPHA_MIND - INFO - trade_date: 2015-02-13 00:00:00 training finished\n",
      "2018-01-03 16:35:46,321 - ALPHA_MIND - INFO - trade_date: 2015-02-27 00:00:00 training finished\n",
      "2018-01-03 16:35:46,325 - ALPHA_MIND - INFO - trade_date: 2015-03-06 00:00:00 training finished\n",
      "2018-01-03 16:35:46,329 - ALPHA_MIND - INFO - trade_date: 2015-03-13 00:00:00 training finished\n",
      "2018-01-03 16:35:46,333 - ALPHA_MIND - INFO - trade_date: 2015-03-20 00:00:00 training finished\n",
      "2018-01-03 16:35:46,338 - ALPHA_MIND - INFO - trade_date: 2015-03-27 00:00:00 training finished\n",
      "2018-01-03 16:35:46,344 - ALPHA_MIND - INFO - trade_date: 2015-04-03 00:00:00 training finished\n",
      "2018-01-03 16:35:46,348 - ALPHA_MIND - INFO - trade_date: 2015-04-13 00:00:00 training finished\n",
      "2018-01-03 16:35:46,351 - ALPHA_MIND - INFO - trade_date: 2015-04-20 00:00:00 training finished\n",
      "2018-01-03 16:35:46,355 - ALPHA_MIND - INFO - trade_date: 2015-04-27 00:00:00 training finished\n",
      "2018-01-03 16:35:46,358 - ALPHA_MIND - INFO - trade_date: 2015-05-05 00:00:00 training finished\n",
      "2018-01-03 16:35:46,364 - ALPHA_MIND - INFO - trade_date: 2015-05-12 00:00:00 training finished\n",
      "2018-01-03 16:35:46,369 - ALPHA_MIND - INFO - trade_date: 2015-05-19 00:00:00 training finished\n",
      "2018-01-03 16:35:46,373 - ALPHA_MIND - INFO - trade_date: 2015-05-26 00:00:00 training finished\n",
      "2018-01-03 16:35:46,377 - ALPHA_MIND - INFO - trade_date: 2015-06-02 00:00:00 training finished\n",
      "2018-01-03 16:35:46,381 - ALPHA_MIND - INFO - trade_date: 2015-06-09 00:00:00 training finished\n",
      "2018-01-03 16:35:46,385 - ALPHA_MIND - INFO - trade_date: 2015-06-16 00:00:00 training finished\n",
      "2018-01-03 16:35:46,390 - ALPHA_MIND - INFO - trade_date: 2015-06-24 00:00:00 training finished\n",
      "2018-01-03 16:35:46,394 - ALPHA_MIND - INFO - trade_date: 2015-07-01 00:00:00 training finished\n",
      "2018-01-03 16:35:46,399 - ALPHA_MIND - INFO - trade_date: 2015-07-08 00:00:00 training finished\n",
      "2018-01-03 16:35:46,405 - ALPHA_MIND - INFO - trade_date: 2015-07-15 00:00:00 training finished\n",
      "2018-01-03 16:35:46,409 - ALPHA_MIND - INFO - trade_date: 2015-07-22 00:00:00 training finished\n",
      "2018-01-03 16:35:46,414 - ALPHA_MIND - INFO - trade_date: 2015-07-29 00:00:00 training finished\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:35:46,419 - ALPHA_MIND - INFO - trade_date: 2015-08-05 00:00:00 training finished\n",
      "2018-01-03 16:35:46,425 - ALPHA_MIND - INFO - trade_date: 2015-08-12 00:00:00 training finished\n",
      "2018-01-03 16:35:46,430 - ALPHA_MIND - INFO - trade_date: 2015-08-19 00:00:00 training finished\n",
      "2018-01-03 16:35:46,436 - ALPHA_MIND - INFO - trade_date: 2015-08-26 00:00:00 training finished\n",
      "2018-01-03 16:35:46,442 - ALPHA_MIND - INFO - trade_date: 2015-09-02 00:00:00 training finished\n",
      "2018-01-03 16:35:46,447 - ALPHA_MIND - INFO - trade_date: 2015-09-11 00:00:00 training finished\n",
      "2018-01-03 16:35:46,452 - ALPHA_MIND - INFO - trade_date: 2015-09-18 00:00:00 training finished\n",
      "2018-01-03 16:35:46,456 - ALPHA_MIND - INFO - trade_date: 2015-09-25 00:00:00 training finished\n",
      "2018-01-03 16:35:46,462 - ALPHA_MIND - INFO - trade_date: 2015-10-09 00:00:00 training finished\n",
      "2018-01-03 16:35:46,467 - ALPHA_MIND - INFO - trade_date: 2015-10-16 00:00:00 training finished\n",
      "2018-01-03 16:35:46,473 - ALPHA_MIND - INFO - trade_date: 2015-10-23 00:00:00 training finished\n",
      "2018-01-03 16:35:46,477 - ALPHA_MIND - INFO - trade_date: 2015-10-30 00:00:00 training finished\n",
      "2018-01-03 16:35:46,481 - ALPHA_MIND - INFO - trade_date: 2015-11-06 00:00:00 training finished\n",
      "2018-01-03 16:35:46,484 - ALPHA_MIND - INFO - trade_date: 2015-11-13 00:00:00 training finished\n",
      "2018-01-03 16:35:46,489 - ALPHA_MIND - INFO - trade_date: 2015-11-20 00:00:00 training finished\n",
      "2018-01-03 16:35:46,495 - ALPHA_MIND - INFO - trade_date: 2015-11-27 00:00:00 training finished\n",
      "2018-01-03 16:35:46,501 - ALPHA_MIND - INFO - trade_date: 2015-12-04 00:00:00 training finished\n",
      "2018-01-03 16:35:46,507 - ALPHA_MIND - INFO - trade_date: 2015-12-11 00:00:00 training finished\n",
      "2018-01-03 16:35:46,511 - ALPHA_MIND - INFO - trade_date: 2015-12-18 00:00:00 training finished\n",
      "2018-01-03 16:35:46,517 - ALPHA_MIND - INFO - trade_date: 2015-12-25 00:00:00 training finished\n",
      "2018-01-03 16:35:46,523 - ALPHA_MIND - INFO - trade_date: 2016-01-04 00:00:00 training finished\n",
      "2018-01-03 16:35:46,530 - ALPHA_MIND - INFO - trade_date: 2016-01-11 00:00:00 training finished\n",
      "2018-01-03 16:35:46,535 - ALPHA_MIND - INFO - trade_date: 2016-01-18 00:00:00 training finished\n",
      "2018-01-03 16:35:46,540 - ALPHA_MIND - INFO - trade_date: 2016-01-25 00:00:00 training finished\n",
      "2018-01-03 16:35:46,545 - ALPHA_MIND - INFO - trade_date: 2016-02-01 00:00:00 training finished\n",
      "2018-01-03 16:35:46,549 - ALPHA_MIND - INFO - trade_date: 2016-02-15 00:00:00 training finished\n",
      "2018-01-03 16:35:46,555 - ALPHA_MIND - INFO - trade_date: 2016-02-22 00:00:00 training finished\n",
      "2018-01-03 16:35:46,560 - ALPHA_MIND - INFO - trade_date: 2016-02-29 00:00:00 training finished\n",
      "2018-01-03 16:35:46,566 - ALPHA_MIND - INFO - trade_date: 2016-03-07 00:00:00 training finished\n",
      "2018-01-03 16:35:46,572 - ALPHA_MIND - INFO - trade_date: 2016-03-14 00:00:00 training finished\n",
      "2018-01-03 16:35:46,577 - ALPHA_MIND - INFO - trade_date: 2016-03-21 00:00:00 training finished\n",
      "2018-01-03 16:35:46,582 - ALPHA_MIND - INFO - trade_date: 2016-03-28 00:00:00 training finished\n",
      "2018-01-03 16:35:46,588 - ALPHA_MIND - INFO - trade_date: 2016-04-05 00:00:00 training finished\n",
      "2018-01-03 16:35:46,593 - ALPHA_MIND - INFO - trade_date: 2016-04-12 00:00:00 training finished\n",
      "2018-01-03 16:35:46,597 - ALPHA_MIND - INFO - trade_date: 2016-04-19 00:00:00 training finished\n",
      "2018-01-03 16:35:46,601 - ALPHA_MIND - INFO - trade_date: 2016-04-26 00:00:00 training finished\n",
      "2018-01-03 16:35:46,607 - ALPHA_MIND - INFO - trade_date: 2016-05-04 00:00:00 training finished\n",
      "2018-01-03 16:35:46,613 - ALPHA_MIND - INFO - trade_date: 2016-05-11 00:00:00 training finished\n",
      "2018-01-03 16:35:46,618 - ALPHA_MIND - INFO - trade_date: 2016-05-18 00:00:00 training finished\n",
      "2018-01-03 16:35:46,623 - ALPHA_MIND - INFO - trade_date: 2016-05-25 00:00:00 training finished\n",
      "2018-01-03 16:35:46,627 - ALPHA_MIND - INFO - trade_date: 2016-06-01 00:00:00 training finished\n",
      "2018-01-03 16:35:46,630 - ALPHA_MIND - INFO - trade_date: 2016-06-08 00:00:00 training finished\n",
      "2018-01-03 16:35:46,633 - ALPHA_MIND - INFO - trade_date: 2016-06-17 00:00:00 training finished\n",
      "2018-01-03 16:35:46,638 - ALPHA_MIND - INFO - trade_date: 2016-06-24 00:00:00 training finished\n",
      "2018-01-03 16:35:46,643 - ALPHA_MIND - INFO - trade_date: 2016-07-01 00:00:00 training finished\n",
      "2018-01-03 16:35:46,647 - ALPHA_MIND - INFO - trade_date: 2016-07-08 00:00:00 training finished\n",
      "2018-01-03 16:35:46,653 - ALPHA_MIND - INFO - trade_date: 2016-07-15 00:00:00 training finished\n",
      "2018-01-03 16:35:46,657 - ALPHA_MIND - INFO - trade_date: 2016-07-22 00:00:00 training finished\n",
      "2018-01-03 16:35:46,662 - ALPHA_MIND - INFO - trade_date: 2016-07-29 00:00:00 training finished\n",
      "2018-01-03 16:35:46,667 - ALPHA_MIND - INFO - trade_date: 2016-08-05 00:00:00 training finished\n",
      "2018-01-03 16:35:46,672 - ALPHA_MIND - INFO - trade_date: 2016-08-12 00:00:00 training finished\n",
      "2018-01-03 16:35:46,676 - ALPHA_MIND - INFO - trade_date: 2016-08-19 00:00:00 training finished\n",
      "2018-01-03 16:35:46,682 - ALPHA_MIND - INFO - trade_date: 2016-08-26 00:00:00 training finished\n",
      "2018-01-03 16:35:46,686 - ALPHA_MIND - INFO - trade_date: 2016-09-02 00:00:00 training finished\n",
      "2018-01-03 16:35:46,691 - ALPHA_MIND - INFO - trade_date: 2016-09-09 00:00:00 training finished\n",
      "2018-01-03 16:35:46,696 - ALPHA_MIND - INFO - trade_date: 2016-09-20 00:00:00 training finished\n",
      "2018-01-03 16:35:46,701 - ALPHA_MIND - INFO - trade_date: 2016-09-27 00:00:00 training finished\n",
      "2018-01-03 16:35:46,705 - ALPHA_MIND - INFO - trade_date: 2016-10-11 00:00:00 training finished\n",
      "2018-01-03 16:35:46,709 - ALPHA_MIND - INFO - trade_date: 2016-10-18 00:00:00 training finished\n",
      "2018-01-03 16:35:46,713 - ALPHA_MIND - INFO - trade_date: 2016-10-25 00:00:00 training finished\n",
      "2018-01-03 16:35:46,719 - ALPHA_MIND - INFO - trade_date: 2016-11-01 00:00:00 training finished\n",
      "2018-01-03 16:35:46,726 - ALPHA_MIND - INFO - trade_date: 2016-11-08 00:00:00 training finished\n",
      "2018-01-03 16:35:46,732 - ALPHA_MIND - INFO - trade_date: 2016-11-15 00:00:00 training finished\n",
      "2018-01-03 16:35:46,740 - ALPHA_MIND - INFO - trade_date: 2016-11-22 00:00:00 training finished\n",
      "2018-01-03 16:35:46,746 - ALPHA_MIND - INFO - trade_date: 2016-11-29 00:00:00 training finished\n",
      "2018-01-03 16:35:46,752 - ALPHA_MIND - INFO - trade_date: 2016-12-06 00:00:00 training finished\n",
      "2018-01-03 16:35:46,756 - ALPHA_MIND - INFO - trade_date: 2016-12-13 00:00:00 training finished\n",
      "2018-01-03 16:35:46,761 - ALPHA_MIND - INFO - trade_date: 2016-12-20 00:00:00 training finished\n",
      "2018-01-03 16:35:46,768 - ALPHA_MIND - INFO - trade_date: 2016-12-27 00:00:00 training finished\n",
      "2018-01-03 16:35:46,774 - ALPHA_MIND - INFO - trade_date: 2017-01-04 00:00:00 training finished\n",
      "2018-01-03 16:35:46,780 - ALPHA_MIND - INFO - trade_date: 2017-01-11 00:00:00 training finished\n",
      "2018-01-03 16:35:46,787 - ALPHA_MIND - INFO - trade_date: 2017-01-18 00:00:00 training finished\n",
      "2018-01-03 16:35:46,791 - ALPHA_MIND - INFO - trade_date: 2017-01-25 00:00:00 training finished\n",
      "2018-01-03 16:35:46,795 - ALPHA_MIND - INFO - trade_date: 2017-02-08 00:00:00 training finished\n",
      "2018-01-03 16:35:46,799 - ALPHA_MIND - INFO - trade_date: 2017-02-15 00:00:00 training finished\n",
      "2018-01-03 16:35:46,804 - ALPHA_MIND - INFO - trade_date: 2017-02-22 00:00:00 training finished\n",
      "2018-01-03 16:35:46,808 - ALPHA_MIND - INFO - trade_date: 2017-03-01 00:00:00 training finished\n",
      "2018-01-03 16:35:46,812 - ALPHA_MIND - INFO - trade_date: 2017-03-08 00:00:00 training finished\n",
      "2018-01-03 16:35:46,816 - ALPHA_MIND - INFO - trade_date: 2017-03-15 00:00:00 training finished\n",
      "2018-01-03 16:35:46,823 - ALPHA_MIND - INFO - trade_date: 2017-03-22 00:00:00 training finished\n",
      "2018-01-03 16:35:46,827 - ALPHA_MIND - INFO - trade_date: 2017-03-29 00:00:00 training finished\n",
      "2018-01-03 16:35:46,832 - ALPHA_MIND - INFO - trade_date: 2017-04-07 00:00:00 training finished\n",
      "2018-01-03 16:35:46,836 - ALPHA_MIND - INFO - trade_date: 2017-04-14 00:00:00 training finished\n",
      "2018-01-03 16:35:46,842 - ALPHA_MIND - INFO - trade_date: 2017-04-21 00:00:00 training finished\n",
      "2018-01-03 16:35:46,848 - ALPHA_MIND - INFO - trade_date: 2017-04-28 00:00:00 training finished\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:35:46,854 - ALPHA_MIND - INFO - trade_date: 2017-05-08 00:00:00 training finished\n",
      "2018-01-03 16:35:46,858 - ALPHA_MIND - INFO - trade_date: 2017-05-15 00:00:00 training finished\n",
      "2018-01-03 16:35:46,862 - ALPHA_MIND - INFO - trade_date: 2017-05-22 00:00:00 training finished\n",
      "2018-01-03 16:35:46,868 - ALPHA_MIND - INFO - trade_date: 2017-05-31 00:00:00 training finished\n",
      "2018-01-03 16:35:46,873 - ALPHA_MIND - INFO - trade_date: 2017-06-07 00:00:00 training finished\n",
      "2018-01-03 16:35:46,878 - ALPHA_MIND - INFO - trade_date: 2017-06-14 00:00:00 training finished\n",
      "2018-01-03 16:35:46,884 - ALPHA_MIND - INFO - trade_date: 2017-06-21 00:00:00 training finished\n",
      "2018-01-03 16:35:46,891 - ALPHA_MIND - INFO - trade_date: 2017-06-28 00:00:00 training finished\n",
      "2018-01-03 16:35:46,895 - ALPHA_MIND - INFO - trade_date: 2017-07-05 00:00:00 training finished\n",
      "2018-01-03 16:35:46,899 - ALPHA_MIND - INFO - trade_date: 2017-07-12 00:00:00 training finished\n",
      "2018-01-03 16:35:46,904 - ALPHA_MIND - INFO - trade_date: 2017-07-19 00:00:00 training finished\n",
      "2018-01-03 16:35:46,907 - ALPHA_MIND - INFO - trade_date: 2017-07-26 00:00:00 training finished\n",
      "2018-01-03 16:35:46,912 - ALPHA_MIND - INFO - trade_date: 2017-08-02 00:00:00 training finished\n",
      "2018-01-03 16:35:46,916 - ALPHA_MIND - INFO - trade_date: 2017-08-09 00:00:00 training finished\n",
      "2018-01-03 16:35:46,920 - ALPHA_MIND - INFO - trade_date: 2017-08-16 00:00:00 training finished\n",
      "2018-01-03 16:35:46,924 - ALPHA_MIND - INFO - trade_date: 2017-08-23 00:00:00 training finished\n",
      "2018-01-03 16:35:46,928 - ALPHA_MIND - INFO - trade_date: 2017-08-30 00:00:00 training finished\n",
      "2018-01-03 16:35:46,931 - ALPHA_MIND - INFO - trade_date: 2017-09-06 00:00:00 training finished\n",
      "2018-01-03 16:35:46,935 - ALPHA_MIND - INFO - trade_date: 2017-09-13 00:00:00 training finished\n",
      "2018-01-03 16:35:46,939 - ALPHA_MIND - INFO - trade_date: 2017-09-20 00:00:00 training finished\n",
      "2018-01-03 16:35:46,942 - ALPHA_MIND - INFO - trade_date: 2017-09-27 00:00:00 training finished\n",
      "2018-01-03 16:35:46,946 - ALPHA_MIND - INFO - trade_date: 2017-10-11 00:00:00 training finished\n",
      "2018-01-03 16:35:46,950 - ALPHA_MIND - INFO - trade_date: 2017-10-18 00:00:00 training finished\n",
      "2018-01-03 16:35:46,953 - ALPHA_MIND - INFO - trade_date: 2017-10-25 00:00:00 training finished\n",
      "2018-01-03 16:35:46,957 - ALPHA_MIND - INFO - trade_date: 2017-11-01 00:00:00 training finished\n",
      "2018-01-03 16:35:46,960 - ALPHA_MIND - INFO - trade_date: 2017-11-08 00:00:00 training finished\n",
      "2018-01-03 16:35:46,964 - ALPHA_MIND - INFO - trade_date: 2017-11-15 00:00:00 training finished\n",
      "2018-01-03 16:35:46,968 - ALPHA_MIND - INFO - trade_date: 2017-11-22 00:00:00 training finished\n",
      "2018-01-03 16:35:46,972 - ALPHA_MIND - INFO - trade_date: 2017-11-29 00:00:00 training finished\n",
      "2018-01-03 16:35:46,976 - ALPHA_MIND - INFO - trade_date: 2017-12-06 00:00:00 training finished\n",
      "2018-01-03 16:35:46,981 - ALPHA_MIND - INFO - trade_date: 2017-12-13 00:00:00 training finished\n",
      "2018-01-03 16:35:46,984 - ALPHA_MIND - INFO - trade_date: 2017-12-20 00:00:00 training finished\n",
      "2018-01-03 16:35:46,988 - ALPHA_MIND - INFO - trade_date: 2017-12-27 00:00:00 training finished\n"
     ]
    }
   ],
   "source": [
    "\"\"\"\n",
    "Training phase\n",
    "\"\"\"\n",
    "\n",
    "models_series = pd.Series()\n",
    "\n",
    "for ref_date in ref_dates:\n",
    "    x = train_x[ref_date]\n",
    "    y = train_y[ref_date].flatten()\n",
    "\n",
    "    model = LassoRegression(alpha=0.01, features=linear_model_features_keys, fit_intercept=True) # n_jobs=8, min_samples_split=20)\n",
    "    model.fit(x, y)\n",
    "    models_series.loc[ref_date] = model\n",
    "    alpha_logger.info('trade_date: {0} training finished'.format(ref_date))\n",
    "\n",
    "\n",
    "frequency = '5b'\n",
    "ref_dates = makeSchedule(start_date, end_date, frequency, 'china.sse')\n",
    "\n",
    "const_model_factor_data = engine.fetch_data_range(universe,\n",
    "                                                  total_features,\n",
    "                                                  dates=ref_dates,\n",
    "                                                  benchmark=benchmark_code)['factor']\n",
    "\n",
    "horizon = map_freq(frequency)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:38,180 - ALPHA_MIND - INFO - 2012-01-04 00:00:00: 800\n",
      "2018-01-03 16:36:38,197 - ALPHA_MIND - INFO - 2012-01-11 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "start 0.02 weight gap simulation ...\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:38,206 - ALPHA_MIND - INFO - 2012-01-18 00:00:00: 800\n",
      "2018-01-03 16:36:38,216 - ALPHA_MIND - INFO - 2012-02-01 00:00:00: 800\n",
      "2018-01-03 16:36:38,225 - ALPHA_MIND - INFO - 2012-02-08 00:00:00: 800\n",
      "2018-01-03 16:36:38,363 - ALPHA_MIND - INFO - 2012-02-08 00:00:00 is finished\n",
      "2018-01-03 16:36:38,369 - ALPHA_MIND - INFO - 2012-02-15 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n",
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:38,607 - ALPHA_MIND - INFO - 2012-02-15 00:00:00 is finished\n",
      "2018-01-03 16:36:38,613 - ALPHA_MIND - INFO - 2012-02-22 00:00:00: 800\n",
      "2018-01-03 16:36:38,822 - ALPHA_MIND - INFO - 2012-02-22 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:38,829 - ALPHA_MIND - INFO - 2012-02-29 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:39,059 - ALPHA_MIND - INFO - 2012-02-29 00:00:00 is finished\n",
      "2018-01-03 16:36:39,065 - ALPHA_MIND - INFO - 2012-03-07 00:00:00: 799\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:39,274 - ALPHA_MIND - INFO - 2012-03-07 00:00:00 is finished\n",
      "2018-01-03 16:36:39,281 - ALPHA_MIND - INFO - 2012-03-14 00:00:00: 799\n",
      "2018-01-03 16:36:39,490 - ALPHA_MIND - INFO - 2012-03-14 00:00:00 is finished"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "2018-01-03 16:36:39,497 - ALPHA_MIND - INFO - 2012-03-21 00:00:00: 798\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:39,716 - ALPHA_MIND - INFO - 2012-03-21 00:00:00 is finished\n",
      "2018-01-03 16:36:39,722 - ALPHA_MIND - INFO - 2012-03-28 00:00:00: 798\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:39,980 - ALPHA_MIND - INFO - 2012-03-28 00:00:00 is finished\n",
      "2018-01-03 16:36:39,985 - ALPHA_MIND - INFO - 2012-04-09 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:40,226 - ALPHA_MIND - INFO - 2012-04-09 00:00:00 is finished\n",
      "2018-01-03 16:36:40,231 - ALPHA_MIND - INFO - 2012-04-16 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:40,464 - ALPHA_MIND - INFO - 2012-04-16 00:00:00 is finished\n",
      "2018-01-03 16:36:40,469 - ALPHA_MIND - INFO - 2012-04-23 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:40,722 - ALPHA_MIND - INFO - 2012-04-23 00:00:00 is finished\n",
      "2018-01-03 16:36:40,727 - ALPHA_MIND - INFO - 2012-05-02 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:40,949 - ALPHA_MIND - INFO - 2012-05-02 00:00:00 is finished\n",
      "2018-01-03 16:36:40,954 - ALPHA_MIND - INFO - 2012-05-09 00:00:00: 800\n",
      "2018-01-03 16:36:41,164 - ALPHA_MIND - INFO - 2012-05-09 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:41,172 - ALPHA_MIND - INFO - 2012-05-16 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:41,409 - ALPHA_MIND - INFO - 2012-05-16 00:00:00 is finished\n",
      "2018-01-03 16:36:41,415 - ALPHA_MIND - INFO - 2012-05-23 00:00:00: 800\n",
      "2018-01-03 16:36:41,623 - ALPHA_MIND - INFO - 2012-05-23 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:41,629 - ALPHA_MIND - INFO - 2012-05-30 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:41,876 - ALPHA_MIND - INFO - 2012-05-30 00:00:00 is finished\n",
      "2018-01-03 16:36:41,883 - ALPHA_MIND - INFO - 2012-06-06 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:42,132 - ALPHA_MIND - INFO - 2012-06-06 00:00:00 is finished\n",
      "2018-01-03 16:36:42,137 - ALPHA_MIND - INFO - 2012-06-13 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:42,365 - ALPHA_MIND - INFO - 2012-06-13 00:00:00 is finished\n",
      "2018-01-03 16:36:42,371 - ALPHA_MIND - INFO - 2012-06-20 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:42,582 - ALPHA_MIND - INFO - 2012-06-20 00:00:00 is finished\n",
      "2018-01-03 16:36:42,588 - ALPHA_MIND - INFO - 2012-06-28 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:42,807 - ALPHA_MIND - INFO - 2012-06-28 00:00:00 is finished\n",
      "2018-01-03 16:36:42,812 - ALPHA_MIND - INFO - 2012-07-05 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:43,040 - ALPHA_MIND - INFO - 2012-07-05 00:00:00 is finished\n",
      "2018-01-03 16:36:43,047 - ALPHA_MIND - INFO - 2012-07-12 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:43,301 - ALPHA_MIND - INFO - 2012-07-12 00:00:00 is finished\n",
      "2018-01-03 16:36:43,306 - ALPHA_MIND - INFO - 2012-07-19 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:43,544 - ALPHA_MIND - INFO - 2012-07-19 00:00:00 is finished\n",
      "2018-01-03 16:36:43,549 - ALPHA_MIND - INFO - 2012-07-26 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:43,770 - ALPHA_MIND - INFO - 2012-07-26 00:00:00 is finished\n",
      "2018-01-03 16:36:43,776 - ALPHA_MIND - INFO - 2012-08-02 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:44,012 - ALPHA_MIND - INFO - 2012-08-02 00:00:00 is finished\n",
      "2018-01-03 16:36:44,020 - ALPHA_MIND - INFO - 2012-08-09 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:44,248 - ALPHA_MIND - INFO - 2012-08-09 00:00:00 is finished\n",
      "2018-01-03 16:36:44,255 - ALPHA_MIND - INFO - 2012-08-16 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:44,499 - ALPHA_MIND - INFO - 2012-08-16 00:00:00 is finished\n",
      "2018-01-03 16:36:44,505 - ALPHA_MIND - INFO - 2012-08-23 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:44,729 - ALPHA_MIND - INFO - 2012-08-23 00:00:00 is finished\n",
      "2018-01-03 16:36:44,734 - ALPHA_MIND - INFO - 2012-08-30 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:44,946 - ALPHA_MIND - INFO - 2012-08-30 00:00:00 is finished\n",
      "2018-01-03 16:36:44,952 - ALPHA_MIND - INFO - 2012-09-06 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:45,185 - ALPHA_MIND - INFO - 2012-09-06 00:00:00 is finished\n",
      "2018-01-03 16:36:45,190 - ALPHA_MIND - INFO - 2012-09-13 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:45,410 - ALPHA_MIND - INFO - 2012-09-13 00:00:00 is finished\n",
      "2018-01-03 16:36:45,417 - ALPHA_MIND - INFO - 2012-09-20 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:45,662 - ALPHA_MIND - INFO - 2012-09-20 00:00:00 is finished\n",
      "2018-01-03 16:36:45,667 - ALPHA_MIND - INFO - 2012-09-27 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:45,885 - ALPHA_MIND - INFO - 2012-09-27 00:00:00 is finished\n",
      "2018-01-03 16:36:45,892 - ALPHA_MIND - INFO - 2012-10-11 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:46,130 - ALPHA_MIND - INFO - 2012-10-11 00:00:00 is finished\n",
      "2018-01-03 16:36:46,137 - ALPHA_MIND - INFO - 2012-10-18 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:46,485 - ALPHA_MIND - INFO - 2012-10-18 00:00:00 is finished\n",
      "2018-01-03 16:36:46,490 - ALPHA_MIND - INFO - 2012-10-25 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:46,752 - ALPHA_MIND - INFO - 2012-10-25 00:00:00 is finished\n",
      "2018-01-03 16:36:46,757 - ALPHA_MIND - INFO - 2012-11-01 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:46,972 - ALPHA_MIND - INFO - 2012-11-01 00:00:00 is finished\n",
      "2018-01-03 16:36:46,980 - ALPHA_MIND - INFO - 2012-11-08 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:47,207 - ALPHA_MIND - INFO - 2012-11-08 00:00:00 is finished\n",
      "2018-01-03 16:36:47,214 - ALPHA_MIND - INFO - 2012-11-15 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:47,426 - ALPHA_MIND - INFO - 2012-11-15 00:00:00 is finished\n",
      "2018-01-03 16:36:47,432 - ALPHA_MIND - INFO - 2012-11-22 00:00:00: 800\n",
      "2018-01-03 16:36:47,642 - ALPHA_MIND - INFO - 2012-11-22 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:47,647 - ALPHA_MIND - INFO - 2012-11-29 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:47,863 - ALPHA_MIND - INFO - 2012-11-29 00:00:00 is finished\n",
      "2018-01-03 16:36:47,869 - ALPHA_MIND - INFO - 2012-12-06 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:48,087 - ALPHA_MIND - INFO - 2012-12-06 00:00:00 is finished\n",
      "2018-01-03 16:36:48,093 - ALPHA_MIND - INFO - 2012-12-13 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:48,311 - ALPHA_MIND - INFO - 2012-12-13 00:00:00 is finished\n",
      "2018-01-03 16:36:48,318 - ALPHA_MIND - INFO - 2012-12-20 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:48,553 - ALPHA_MIND - INFO - 2012-12-20 00:00:00 is finished\n",
      "2018-01-03 16:36:48,558 - ALPHA_MIND - INFO - 2012-12-27 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:48,789 - ALPHA_MIND - INFO - 2012-12-27 00:00:00 is finished\n",
      "2018-01-03 16:36:48,795 - ALPHA_MIND - INFO - 2013-01-08 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:49,014 - ALPHA_MIND - INFO - 2013-01-08 00:00:00 is finished\n",
      "2018-01-03 16:36:49,021 - ALPHA_MIND - INFO - 2013-01-15 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:49,260 - ALPHA_MIND - INFO - 2013-01-15 00:00:00 is finished\n",
      "2018-01-03 16:36:49,269 - ALPHA_MIND - INFO - 2013-01-22 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:49,513 - ALPHA_MIND - INFO - 2013-01-22 00:00:00 is finished\n",
      "2018-01-03 16:36:49,518 - ALPHA_MIND - INFO - 2013-01-29 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:49,735 - ALPHA_MIND - INFO - 2013-01-29 00:00:00 is finished\n",
      "2018-01-03 16:36:49,740 - ALPHA_MIND - INFO - 2013-02-05 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:49,968 - ALPHA_MIND - INFO - 2013-02-05 00:00:00 is finished\n",
      "2018-01-03 16:36:49,974 - ALPHA_MIND - INFO - 2013-02-19 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:50,292 - ALPHA_MIND - INFO - 2013-02-19 00:00:00 is finished\n",
      "2018-01-03 16:36:50,297 - ALPHA_MIND - INFO - 2013-02-26 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:50,519 - ALPHA_MIND - INFO - 2013-02-26 00:00:00 is finished\n",
      "2018-01-03 16:36:50,525 - ALPHA_MIND - INFO - 2013-03-05 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:50,754 - ALPHA_MIND - INFO - 2013-03-05 00:00:00 is finished\n",
      "2018-01-03 16:36:50,761 - ALPHA_MIND - INFO - 2013-03-12 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:50,990 - ALPHA_MIND - INFO - 2013-03-12 00:00:00 is finished\n",
      "2018-01-03 16:36:50,996 - ALPHA_MIND - INFO - 2013-03-19 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:51,227 - ALPHA_MIND - INFO - 2013-03-19 00:00:00 is finished\n",
      "2018-01-03 16:36:51,232 - ALPHA_MIND - INFO - 2013-03-26 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:51,474 - ALPHA_MIND - INFO - 2013-03-26 00:00:00 is finished\n",
      "2018-01-03 16:36:51,480 - ALPHA_MIND - INFO - 2013-04-02 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:51,695 - ALPHA_MIND - INFO - 2013-04-02 00:00:00 is finished\n",
      "2018-01-03 16:36:51,701 - ALPHA_MIND - INFO - 2013-04-11 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:51,934 - ALPHA_MIND - INFO - 2013-04-11 00:00:00 is finished\n",
      "2018-01-03 16:36:51,939 - ALPHA_MIND - INFO - 2013-04-18 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:52,159 - ALPHA_MIND - INFO - 2013-04-18 00:00:00 is finished\n",
      "2018-01-03 16:36:52,165 - ALPHA_MIND - INFO - 2013-04-25 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:52,389 - ALPHA_MIND - INFO - 2013-04-25 00:00:00 is finished\n",
      "2018-01-03 16:36:52,395 - ALPHA_MIND - INFO - 2013-05-07 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:52,622 - ALPHA_MIND - INFO - 2013-05-07 00:00:00 is finished\n",
      "2018-01-03 16:36:52,628 - ALPHA_MIND - INFO - 2013-05-14 00:00:00: 800\n",
      "2018-01-03 16:36:52,835 - ALPHA_MIND - INFO - 2013-05-14 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:52,839 - ALPHA_MIND - INFO - 2013-05-21 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:53,055 - ALPHA_MIND - INFO - 2013-05-21 00:00:00 is finished\n",
      "2018-01-03 16:36:53,060 - ALPHA_MIND - INFO - 2013-05-28 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:53,280 - ALPHA_MIND - INFO - 2013-05-28 00:00:00 is finished\n",
      "2018-01-03 16:36:53,285 - ALPHA_MIND - INFO - 2013-06-04 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:53,495 - ALPHA_MIND - INFO - 2013-06-04 00:00:00 is finished\n",
      "2018-01-03 16:36:53,502 - ALPHA_MIND - INFO - 2013-06-14 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:53,722 - ALPHA_MIND - INFO - 2013-06-14 00:00:00 is finished\n",
      "2018-01-03 16:36:53,728 - ALPHA_MIND - INFO - 2013-06-21 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:54,029 - ALPHA_MIND - INFO - 2013-06-21 00:00:00 is finished\n",
      "2018-01-03 16:36:54,035 - ALPHA_MIND - INFO - 2013-06-28 00:00:00: 800\n",
      "2018-01-03 16:36:54,243 - ALPHA_MIND - INFO - 2013-06-28 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:54,247 - ALPHA_MIND - INFO - 2013-07-05 00:00:00: 800\n",
      "2018-01-03 16:36:54,456 - ALPHA_MIND - INFO - 2013-07-05 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:54,463 - ALPHA_MIND - INFO - 2013-07-12 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:54,684 - ALPHA_MIND - INFO - 2013-07-12 00:00:00 is finished\n",
      "2018-01-03 16:36:54,691 - ALPHA_MIND - INFO - 2013-07-19 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:54,915 - ALPHA_MIND - INFO - 2013-07-19 00:00:00 is finished\n",
      "2018-01-03 16:36:54,921 - ALPHA_MIND - INFO - 2013-07-26 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:55,136 - ALPHA_MIND - INFO - 2013-07-26 00:00:00 is finished\n",
      "2018-01-03 16:36:55,142 - ALPHA_MIND - INFO - 2013-08-02 00:00:00: 800\n",
      "2018-01-03 16:36:55,343 - ALPHA_MIND - INFO - 2013-08-02 00:00:00 is finished\n",
      "2018-01-03 16:36:55,348 - ALPHA_MIND - INFO - 2013-08-09 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n",
      "using alpha model"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:55,559 - ALPHA_MIND - INFO - 2013-08-09 00:00:00 is finished\n",
      "2018-01-03 16:36:55,563 - ALPHA_MIND - INFO - 2013-08-16 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:55,777 - ALPHA_MIND - INFO - 2013-08-16 00:00:00 is finished\n",
      "2018-01-03 16:36:55,784 - ALPHA_MIND - INFO - 2013-08-23 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:56,027 - ALPHA_MIND - INFO - 2013-08-23 00:00:00 is finished\n",
      "2018-01-03 16:36:56,034 - ALPHA_MIND - INFO - 2013-08-30 00:00:00: 800\n",
      "2018-01-03 16:36:56,243 - ALPHA_MIND - INFO - 2013-08-30 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:56,248 - ALPHA_MIND - INFO - 2013-09-06 00:00:00: 800\n",
      "2018-01-03 16:36:56,459 - ALPHA_MIND - INFO - 2013-09-06 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:56,465 - ALPHA_MIND - INFO - 2013-09-13 00:00:00: 800\n",
      "2018-01-03 16:36:56,667 - ALPHA_MIND - INFO - 2013-09-13 00:00:00 is finished\n",
      "2018-01-03 16:36:56,672 - ALPHA_MIND - INFO - 2013-09-24 00:00:00: 799\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:56,879 - ALPHA_MIND - INFO - 2013-09-24 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:56,885 - ALPHA_MIND - INFO - 2013-10-08 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:57,124 - ALPHA_MIND - INFO - 2013-10-08 00:00:00 is finished\n",
      "2018-01-03 16:36:57,129 - ALPHA_MIND - INFO - 2013-10-15 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:57,351 - ALPHA_MIND - INFO - 2013-10-15 00:00:00 is finished\n",
      "2018-01-03 16:36:57,356 - ALPHA_MIND - INFO - 2013-10-22 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:57,643 - ALPHA_MIND - INFO - 2013-10-22 00:00:00 is finished\n",
      "2018-01-03 16:36:57,649 - ALPHA_MIND - INFO - 2013-10-29 00:00:00: 800\n",
      "2018-01-03 16:36:57,853 - ALPHA_MIND - INFO - 2013-10-29 00:00:00 is finished\n",
      "2018-01-03 16:36:57,859 - ALPHA_MIND - INFO - 2013-11-05 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n",
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:58,076 - ALPHA_MIND - INFO - 2013-11-05 00:00:00 is finished\n",
      "2018-01-03 16:36:58,083 - ALPHA_MIND - INFO - 2013-11-12 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:58,305 - ALPHA_MIND - INFO - 2013-11-12 00:00:00 is finished\n",
      "2018-01-03 16:36:58,312 - ALPHA_MIND - INFO - 2013-11-19 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:58,524 - ALPHA_MIND - INFO - 2013-11-19 00:00:00 is finished\n",
      "2018-01-03 16:36:58,530 - ALPHA_MIND - INFO - 2013-11-26 00:00:00: 800\n",
      "2018-01-03 16:36:58,735 - ALPHA_MIND - INFO - 2013-11-26 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:58,741 - ALPHA_MIND - INFO - 2013-12-03 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:58,968 - ALPHA_MIND - INFO - 2013-12-03 00:00:00 is finished\n",
      "2018-01-03 16:36:58,974 - ALPHA_MIND - INFO - 2013-12-10 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:59,193 - ALPHA_MIND - INFO - 2013-12-10 00:00:00 is finished\n",
      "2018-01-03 16:36:59,199 - ALPHA_MIND - INFO - 2013-12-17 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:59,420 - ALPHA_MIND - INFO - 2013-12-17 00:00:00 is finished\n",
      "2018-01-03 16:36:59,425 - ALPHA_MIND - INFO - 2013-12-24 00:00:00: 800\n",
      "2018-01-03 16:36:59,631 - ALPHA_MIND - INFO - 2013-12-24 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:36:59,638 - ALPHA_MIND - INFO - 2013-12-31 00:00:00: 800\n",
      "2018-01-03 16:36:59,844 - ALPHA_MIND - INFO - 2013-12-31 00:00:00 is finished\n",
      "2018-01-03 16:36:59,849 - ALPHA_MIND - INFO - 2014-01-08 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n",
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:00,076 - ALPHA_MIND - INFO - 2014-01-08 00:00:00 is finished\n",
      "2018-01-03 16:37:00,081 - ALPHA_MIND - INFO - 2014-01-15 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:00,321 - ALPHA_MIND - INFO - 2014-01-15 00:00:00 is finished\n",
      "2018-01-03 16:37:00,328 - ALPHA_MIND - INFO - 2014-01-22 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:00,552 - ALPHA_MIND - INFO - 2014-01-22 00:00:00 is finished\n",
      "2018-01-03 16:37:00,558 - ALPHA_MIND - INFO - 2014-01-29 00:00:00: 800\n",
      "2018-01-03 16:37:00,763 - ALPHA_MIND - INFO - 2014-01-29 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:00,768 - ALPHA_MIND - INFO - 2014-02-12 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:00,979 - ALPHA_MIND - INFO - 2014-02-12 00:00:00 is finished\n",
      "2018-01-03 16:37:00,985 - ALPHA_MIND - INFO - 2014-02-19 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:01,277 - ALPHA_MIND - INFO - 2014-02-19 00:00:00 is finished\n",
      "2018-01-03 16:37:01,282 - ALPHA_MIND - INFO - 2014-02-26 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:01,502 - ALPHA_MIND - INFO - 2014-02-26 00:00:00 is finished\n",
      "2018-01-03 16:37:01,508 - ALPHA_MIND - INFO - 2014-03-05 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:01,721 - ALPHA_MIND - INFO - 2014-03-05 00:00:00 is finished\n",
      "2018-01-03 16:37:01,727 - ALPHA_MIND - INFO - 2014-03-12 00:00:00: 800\n",
      "2018-01-03 16:37:01,929 - ALPHA_MIND - INFO - 2014-03-12 00:00:00 is finished\n",
      "2018-01-03 16:37:01,935 - ALPHA_MIND - INFO - 2014-03-19 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n",
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:02,151 - ALPHA_MIND - INFO - 2014-03-19 00:00:00 is finished\n",
      "2018-01-03 16:37:02,156 - ALPHA_MIND - INFO - 2014-03-26 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:02,388 - ALPHA_MIND - INFO - 2014-03-26 00:00:00 is finished\n",
      "2018-01-03 16:37:02,393 - ALPHA_MIND - INFO - 2014-04-02 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:02,611 - ALPHA_MIND - INFO - 2014-04-02 00:00:00 is finished\n",
      "2018-01-03 16:37:02,617 - ALPHA_MIND - INFO - 2014-04-10 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:02,834 - ALPHA_MIND - INFO - 2014-04-10 00:00:00 is finished\n",
      "2018-01-03 16:37:02,839 - ALPHA_MIND - INFO - 2014-04-17 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:03,055 - ALPHA_MIND - INFO - 2014-04-17 00:00:00 is finished\n",
      "2018-01-03 16:37:03,060 - ALPHA_MIND - INFO - 2014-04-24 00:00:00: 800\n",
      "2018-01-03 16:37:03,267 - ALPHA_MIND - INFO - 2014-04-24 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:03,274 - ALPHA_MIND - INFO - 2014-05-05 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:03,501 - ALPHA_MIND - INFO - 2014-05-05 00:00:00 is finished\n",
      "2018-01-03 16:37:03,507 - ALPHA_MIND - INFO - 2014-05-12 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:03,720 - ALPHA_MIND - INFO - 2014-05-12 00:00:00 is finished\n",
      "2018-01-03 16:37:03,726 - ALPHA_MIND - INFO - 2014-05-19 00:00:00: 800\n",
      "2018-01-03 16:37:03,933 - ALPHA_MIND - INFO - 2014-05-19 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:03,939 - ALPHA_MIND - INFO - 2014-05-26 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:04,153 - ALPHA_MIND - INFO - 2014-05-26 00:00:00 is finished\n",
      "2018-01-03 16:37:04,158 - ALPHA_MIND - INFO - 2014-06-03 00:00:00: 800\n",
      "2018-01-03 16:37:04,359 - ALPHA_MIND - INFO - 2014-06-03 00:00:00 is finished\n",
      "2018-01-03 16:37:04,366 - ALPHA_MIND - INFO - 2014-06-10 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n",
      "using alpha model"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:04,591 - ALPHA_MIND - INFO - 2014-06-10 00:00:00 is finished\n",
      "2018-01-03 16:37:04,596 - ALPHA_MIND - INFO - 2014-06-17 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:04,893 - ALPHA_MIND - INFO - 2014-06-17 00:00:00 is finished\n",
      "2018-01-03 16:37:04,899 - ALPHA_MIND - INFO - 2014-06-24 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:05,111 - ALPHA_MIND - INFO - 2014-06-24 00:00:00 is finished\n",
      "2018-01-03 16:37:05,117 - ALPHA_MIND - INFO - 2014-07-01 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:05,330 - ALPHA_MIND - INFO - 2014-07-01 00:00:00 is finished\n",
      "2018-01-03 16:37:05,336 - ALPHA_MIND - INFO - 2014-07-08 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:05,549 - ALPHA_MIND - INFO - 2014-07-08 00:00:00 is finished\n",
      "2018-01-03 16:37:05,557 - ALPHA_MIND - INFO - 2014-07-15 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:05,783 - ALPHA_MIND - INFO - 2014-07-15 00:00:00 is finished\n",
      "2018-01-03 16:37:05,790 - ALPHA_MIND - INFO - 2014-07-22 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:06,020 - ALPHA_MIND - INFO - 2014-07-22 00:00:00 is finished\n",
      "2018-01-03 16:37:06,026 - ALPHA_MIND - INFO - 2014-07-29 00:00:00: 800\n",
      "2018-01-03 16:37:06,235 - ALPHA_MIND - INFO - 2014-07-29 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:06,241 - ALPHA_MIND - INFO - 2014-08-05 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:06,455 - ALPHA_MIND - INFO - 2014-08-05 00:00:00 is finished\n",
      "2018-01-03 16:37:06,461 - ALPHA_MIND - INFO - 2014-08-12 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:06,684 - ALPHA_MIND - INFO - 2014-08-12 00:00:00 is finished\n",
      "2018-01-03 16:37:06,690 - ALPHA_MIND - INFO - 2014-08-19 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:06,905 - ALPHA_MIND - INFO - 2014-08-19 00:00:00 is finished\n",
      "2018-01-03 16:37:06,910 - ALPHA_MIND - INFO - 2014-08-26 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:07,128 - ALPHA_MIND - INFO - 2014-08-26 00:00:00 is finished\n",
      "2018-01-03 16:37:07,133 - ALPHA_MIND - INFO - 2014-09-02 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:07,346 - ALPHA_MIND - INFO - 2014-09-02 00:00:00 is finished\n",
      "2018-01-03 16:37:07,351 - ALPHA_MIND - INFO - 2014-09-10 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:07,572 - ALPHA_MIND - INFO - 2014-09-10 00:00:00 is finished\n",
      "2018-01-03 16:37:07,578 - ALPHA_MIND - INFO - 2014-09-17 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:07,805 - ALPHA_MIND - INFO - 2014-09-17 00:00:00 is finished\n",
      "2018-01-03 16:37:07,811 - ALPHA_MIND - INFO - 2014-09-24 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:08,026 - ALPHA_MIND - INFO - 2014-09-24 00:00:00 is finished\n",
      "2018-01-03 16:37:08,032 - ALPHA_MIND - INFO - 2014-10-08 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:08,254 - ALPHA_MIND - INFO - 2014-10-08 00:00:00 is finished\n",
      "2018-01-03 16:37:08,260 - ALPHA_MIND - INFO - 2014-10-15 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:08,543 - ALPHA_MIND - INFO - 2014-10-15 00:00:00 is finished\n",
      "2018-01-03 16:37:08,547 - ALPHA_MIND - INFO - 2014-10-22 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:08,777 - ALPHA_MIND - INFO - 2014-10-22 00:00:00 is finished\n",
      "2018-01-03 16:37:08,785 - ALPHA_MIND - INFO - 2014-10-29 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:09,008 - ALPHA_MIND - INFO - 2014-10-29 00:00:00 is finished\n",
      "2018-01-03 16:37:09,015 - ALPHA_MIND - INFO - 2014-11-05 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:09,232 - ALPHA_MIND - INFO - 2014-11-05 00:00:00 is finished\n",
      "2018-01-03 16:37:09,238 - ALPHA_MIND - INFO - 2014-11-12 00:00:00: 800\n",
      "2018-01-03 16:37:09,447 - ALPHA_MIND - INFO - 2014-11-12 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:09,452 - ALPHA_MIND - INFO - 2014-11-19 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:09,664 - ALPHA_MIND - INFO - 2014-11-19 00:00:00 is finished\n",
      "2018-01-03 16:37:09,670 - ALPHA_MIND - INFO - 2014-11-26 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:09,883 - ALPHA_MIND - INFO - 2014-11-26 00:00:00 is finished\n",
      "2018-01-03 16:37:09,889 - ALPHA_MIND - INFO - 2014-12-03 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:10,125 - ALPHA_MIND - INFO - 2014-12-03 00:00:00 is finished\n",
      "2018-01-03 16:37:10,129 - ALPHA_MIND - INFO - 2014-12-10 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:10,359 - ALPHA_MIND - INFO - 2014-12-10 00:00:00 is finished\n",
      "2018-01-03 16:37:10,364 - ALPHA_MIND - INFO - 2014-12-17 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:10,590 - ALPHA_MIND - INFO - 2014-12-17 00:00:00 is finished\n",
      "2018-01-03 16:37:10,596 - ALPHA_MIND - INFO - 2014-12-24 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:10,807 - ALPHA_MIND - INFO - 2014-12-24 00:00:00 is finished\n",
      "2018-01-03 16:37:10,813 - ALPHA_MIND - INFO - 2014-12-31 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:11,042 - ALPHA_MIND - INFO - 2014-12-31 00:00:00 is finished\n",
      "2018-01-03 16:37:11,048 - ALPHA_MIND - INFO - 2015-01-09 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:11,272 - ALPHA_MIND - INFO - 2015-01-09 00:00:00 is finished\n",
      "2018-01-03 16:37:11,278 - ALPHA_MIND - INFO - 2015-01-16 00:00:00: 800\n",
      "2018-01-03 16:37:11,481 - ALPHA_MIND - INFO - 2015-01-16 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:11,487 - ALPHA_MIND - INFO - 2015-01-23 00:00:00: 800\n",
      "2018-01-03 16:37:11,697 - ALPHA_MIND - INFO - 2015-01-23 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:11,702 - ALPHA_MIND - INFO - 2015-01-30 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:11,923 - ALPHA_MIND - INFO - 2015-01-30 00:00:00 is finished\n",
      "2018-01-03 16:37:11,929 - ALPHA_MIND - INFO - 2015-02-06 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:12,235 - ALPHA_MIND - INFO - 2015-02-06 00:00:00 is finished\n",
      "2018-01-03 16:37:12,241 - ALPHA_MIND - INFO - 2015-02-13 00:00:00: 800\n",
      "2018-01-03 16:37:12,444 - ALPHA_MIND - INFO - 2015-02-13 00:00:00 is finished\n",
      "2018-01-03 16:37:12,449 - ALPHA_MIND - INFO - 2015-02-27 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n",
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:12,661 - ALPHA_MIND - INFO - 2015-02-27 00:00:00 is finished\n",
      "2018-01-03 16:37:12,667 - ALPHA_MIND - INFO - 2015-03-06 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:12,878 - ALPHA_MIND - INFO - 2015-03-06 00:00:00 is finished\n",
      "2018-01-03 16:37:12,884 - ALPHA_MIND - INFO - 2015-03-13 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:13,107 - ALPHA_MIND - INFO - 2015-03-13 00:00:00 is finished\n",
      "2018-01-03 16:37:13,114 - ALPHA_MIND - INFO - 2015-03-20 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:13,333 - ALPHA_MIND - INFO - 2015-03-20 00:00:00 is finished\n",
      "2018-01-03 16:37:13,340 - ALPHA_MIND - INFO - 2015-03-27 00:00:00: 800\n",
      "2018-01-03 16:37:13,547 - ALPHA_MIND - INFO - 2015-03-27 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:13,553 - ALPHA_MIND - INFO - 2015-04-03 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:13,763 - ALPHA_MIND - INFO - 2015-04-03 00:00:00 is finished\n",
      "2018-01-03 16:37:13,769 - ALPHA_MIND - INFO - 2015-04-13 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:13,991 - ALPHA_MIND - INFO - 2015-04-13 00:00:00 is finished\n",
      "2018-01-03 16:37:13,997 - ALPHA_MIND - INFO - 2015-04-20 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:14,214 - ALPHA_MIND - INFO - 2015-04-20 00:00:00 is finished\n",
      "2018-01-03 16:37:14,220 - ALPHA_MIND - INFO - 2015-04-27 00:00:00: 800\n",
      "2018-01-03 16:37:14,432 - ALPHA_MIND - INFO - 2015-04-27 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:14,437 - ALPHA_MIND - INFO - 2015-05-05 00:00:00: 800\n",
      "2018-01-03 16:37:14,641 - ALPHA_MIND - INFO - 2015-05-05 00:00:00 is finished\n",
      "2018-01-03 16:37:14,648 - ALPHA_MIND - INFO - 2015-05-12 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:14,856 - ALPHA_MIND - INFO - 2015-05-12 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:14,861 - ALPHA_MIND - INFO - 2015-05-19 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:15,079 - ALPHA_MIND - INFO - 2015-05-19 00:00:00 is finished\n",
      "2018-01-03 16:37:15,086 - ALPHA_MIND - INFO - 2015-05-26 00:00:00: 798\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:15,312 - ALPHA_MIND - INFO - 2015-05-26 00:00:00 is finished\n",
      "2018-01-03 16:37:15,319 - ALPHA_MIND - INFO - 2015-06-02 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:15,533 - ALPHA_MIND - INFO - 2015-06-02 00:00:00 is finished\n",
      "2018-01-03 16:37:15,539 - ALPHA_MIND - INFO - 2015-06-09 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:15,829 - ALPHA_MIND - INFO - 2015-06-09 00:00:00 is finished\n",
      "2018-01-03 16:37:15,835 - ALPHA_MIND - INFO - 2015-06-16 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:16,051 - ALPHA_MIND - INFO - 2015-06-16 00:00:00 is finished\n",
      "2018-01-03 16:37:16,057 - ALPHA_MIND - INFO - 2015-06-24 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:16,274 - ALPHA_MIND - INFO - 2015-06-24 00:00:00 is finished\n",
      "2018-01-03 16:37:16,279 - ALPHA_MIND - INFO - 2015-07-01 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:16,500 - ALPHA_MIND - INFO - 2015-07-01 00:00:00 is finished\n",
      "2018-01-03 16:37:16,506 - ALPHA_MIND - INFO - 2015-07-08 00:00:00: 800\n",
      "2018-01-03 16:37:16,713 - ALPHA_MIND - INFO - 2015-07-08 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:16,718 - ALPHA_MIND - INFO - 2015-07-15 00:00:00: 800\n",
      "2018-01-03 16:37:16,930 - ALPHA_MIND - INFO - 2015-07-15 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:16,936 - ALPHA_MIND - INFO - 2015-07-22 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:17,147 - ALPHA_MIND - INFO - 2015-07-22 00:00:00 is finished\n",
      "2018-01-03 16:37:17,153 - ALPHA_MIND - INFO - 2015-07-29 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:17,374 - ALPHA_MIND - INFO - 2015-07-29 00:00:00 is finished\n",
      "2018-01-03 16:37:17,380 - ALPHA_MIND - INFO - 2015-08-05 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:17,596 - ALPHA_MIND - INFO - 2015-08-05 00:00:00 is finished\n",
      "2018-01-03 16:37:17,602 - ALPHA_MIND - INFO - 2015-08-12 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:17,815 - ALPHA_MIND - INFO - 2015-08-12 00:00:00 is finished\n",
      "2018-01-03 16:37:17,821 - ALPHA_MIND - INFO - 2015-08-19 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:18,036 - ALPHA_MIND - INFO - 2015-08-19 00:00:00 is finished\n",
      "2018-01-03 16:37:18,042 - ALPHA_MIND - INFO - 2015-08-26 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:18,255 - ALPHA_MIND - INFO - 2015-08-26 00:00:00 is finished\n",
      "2018-01-03 16:37:18,261 - ALPHA_MIND - INFO - 2015-09-02 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:18,482 - ALPHA_MIND - INFO - 2015-09-02 00:00:00 is finished\n",
      "2018-01-03 16:37:18,488 - ALPHA_MIND - INFO - 2015-09-11 00:00:00: 800\n",
      "2018-01-03 16:37:18,696 - ALPHA_MIND - INFO - 2015-09-11 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:18,702 - ALPHA_MIND - INFO - 2015-09-18 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:18,914 - ALPHA_MIND - INFO - 2015-09-18 00:00:00 is finished\n",
      "2018-01-03 16:37:18,920 - ALPHA_MIND - INFO - 2015-09-25 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:19,137 - ALPHA_MIND - INFO - 2015-09-25 00:00:00 is finished\n",
      "2018-01-03 16:37:19,141 - ALPHA_MIND - INFO - 2015-10-09 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:19,437 - ALPHA_MIND - INFO - 2015-10-09 00:00:00 is finished\n",
      "2018-01-03 16:37:19,443 - ALPHA_MIND - INFO - 2015-10-16 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:19,661 - ALPHA_MIND - INFO - 2015-10-16 00:00:00 is finished\n",
      "2018-01-03 16:37:19,667 - ALPHA_MIND - INFO - 2015-10-23 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:19,888 - ALPHA_MIND - INFO - 2015-10-23 00:00:00 is finished\n",
      "2018-01-03 16:37:19,893 - ALPHA_MIND - INFO - 2015-10-30 00:00:00: 800\n",
      "2018-01-03 16:37:20,102 - ALPHA_MIND - INFO - 2015-10-30 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:20,108 - ALPHA_MIND - INFO - 2015-11-06 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:20,325 - ALPHA_MIND - INFO - 2015-11-06 00:00:00 is finished\n",
      "2018-01-03 16:37:20,331 - ALPHA_MIND - INFO - 2015-11-13 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:20,547 - ALPHA_MIND - INFO - 2015-11-13 00:00:00 is finished\n",
      "2018-01-03 16:37:20,553 - ALPHA_MIND - INFO - 2015-11-20 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:20,775 - ALPHA_MIND - INFO - 2015-11-20 00:00:00 is finished\n",
      "2018-01-03 16:37:20,780 - ALPHA_MIND - INFO - 2015-11-27 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:20,997 - ALPHA_MIND - INFO - 2015-11-27 00:00:00 is finished\n",
      "2018-01-03 16:37:21,003 - ALPHA_MIND - INFO - 2015-12-04 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:21,225 - ALPHA_MIND - INFO - 2015-12-04 00:00:00 is finished\n",
      "2018-01-03 16:37:21,231 - ALPHA_MIND - INFO - 2015-12-11 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:21,443 - ALPHA_MIND - INFO - 2015-12-11 00:00:00 is finished\n",
      "2018-01-03 16:37:21,449 - ALPHA_MIND - INFO - 2015-12-18 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:21,674 - ALPHA_MIND - INFO - 2015-12-18 00:00:00 is finished\n",
      "2018-01-03 16:37:21,681 - ALPHA_MIND - INFO - 2015-12-25 00:00:00: 800\n",
      "2018-01-03 16:37:21,888 - ALPHA_MIND - INFO - 2015-12-25 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:21,893 - ALPHA_MIND - INFO - 2016-01-04 00:00:00: 799\n",
      "2018-01-03 16:37:22,099 - ALPHA_MIND - INFO - 2016-01-04 00:00:00 is finished\n",
      "2018-01-03 16:37:22,104 - ALPHA_MIND - INFO - 2016-01-11 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n",
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:22,316 - ALPHA_MIND - INFO - 2016-01-11 00:00:00 is finished\n",
      "2018-01-03 16:37:22,322 - ALPHA_MIND - INFO - 2016-01-18 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:22,545 - ALPHA_MIND - INFO - 2016-01-18 00:00:00 is finished\n",
      "2018-01-03 16:37:22,552 - ALPHA_MIND - INFO - 2016-01-25 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:22,774 - ALPHA_MIND - INFO - 2016-01-25 00:00:00 is finished\n",
      "2018-01-03 16:37:22,779 - ALPHA_MIND - INFO - 2016-02-01 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:23,076 - ALPHA_MIND - INFO - 2016-02-01 00:00:00 is finished\n",
      "2018-01-03 16:37:23,082 - ALPHA_MIND - INFO - 2016-02-15 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:23,298 - ALPHA_MIND - INFO - 2016-02-15 00:00:00 is finished\n",
      "2018-01-03 16:37:23,304 - ALPHA_MIND - INFO - 2016-02-22 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:23,521 - ALPHA_MIND - INFO - 2016-02-22 00:00:00 is finished\n",
      "2018-01-03 16:37:23,526 - ALPHA_MIND - INFO - 2016-02-29 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:23,745 - ALPHA_MIND - INFO - 2016-02-29 00:00:00 is finished\n",
      "2018-01-03 16:37:23,750 - ALPHA_MIND - INFO - 2016-03-07 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:23,967 - ALPHA_MIND - INFO - 2016-03-07 00:00:00 is finished\n",
      "2018-01-03 16:37:23,972 - ALPHA_MIND - INFO - 2016-03-14 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:24,183 - ALPHA_MIND - INFO - 2016-03-14 00:00:00 is finished\n",
      "2018-01-03 16:37:24,189 - ALPHA_MIND - INFO - 2016-03-21 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:24,406 - ALPHA_MIND - INFO - 2016-03-21 00:00:00 is finished\n",
      "2018-01-03 16:37:24,411 - ALPHA_MIND - INFO - 2016-03-28 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:24,627 - ALPHA_MIND - INFO - 2016-03-28 00:00:00 is finished\n",
      "2018-01-03 16:37:24,634 - ALPHA_MIND - INFO - 2016-04-05 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:24,862 - ALPHA_MIND - INFO - 2016-04-05 00:00:00 is finished\n",
      "2018-01-03 16:37:24,867 - ALPHA_MIND - INFO - 2016-04-12 00:00:00: 800\n",
      "2018-01-03 16:37:25,076 - ALPHA_MIND - INFO - 2016-04-12 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:25,082 - ALPHA_MIND - INFO - 2016-04-19 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:25,298 - ALPHA_MIND - INFO - 2016-04-19 00:00:00 is finished\n",
      "2018-01-03 16:37:25,305 - ALPHA_MIND - INFO - 2016-04-26 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:25,524 - ALPHA_MIND - INFO - 2016-04-26 00:00:00 is finished\n",
      "2018-01-03 16:37:25,529 - ALPHA_MIND - INFO - 2016-05-04 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:25,748 - ALPHA_MIND - INFO - 2016-05-04 00:00:00 is finished\n",
      "2018-01-03 16:37:25,754 - ALPHA_MIND - INFO - 2016-05-11 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:25,977 - ALPHA_MIND - INFO - 2016-05-11 00:00:00 is finished\n",
      "2018-01-03 16:37:25,983 - ALPHA_MIND - INFO - 2016-05-18 00:00:00: 800\n",
      "2018-01-03 16:37:26,191 - ALPHA_MIND - INFO - 2016-05-18 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:26,197 - ALPHA_MIND - INFO - 2016-05-25 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:26,416 - ALPHA_MIND - INFO - 2016-05-25 00:00:00 is finished\n",
      "2018-01-03 16:37:26,422 - ALPHA_MIND - INFO - 2016-06-01 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:26,725 - ALPHA_MIND - INFO - 2016-06-01 00:00:00 is finished\n",
      "2018-01-03 16:37:26,732 - ALPHA_MIND - INFO - 2016-06-08 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:26,950 - ALPHA_MIND - INFO - 2016-06-08 00:00:00 is finished\n",
      "2018-01-03 16:37:26,955 - ALPHA_MIND - INFO - 2016-06-17 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:27,169 - ALPHA_MIND - INFO - 2016-06-17 00:00:00 is finished\n",
      "2018-01-03 16:37:27,175 - ALPHA_MIND - INFO - 2016-06-24 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:27,392 - ALPHA_MIND - INFO - 2016-06-24 00:00:00 is finished\n",
      "2018-01-03 16:37:27,399 - ALPHA_MIND - INFO - 2016-07-01 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:27,634 - ALPHA_MIND - INFO - 2016-07-01 00:00:00 is finished\n",
      "2018-01-03 16:37:27,638 - ALPHA_MIND - INFO - 2016-07-08 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:27,848 - ALPHA_MIND - INFO - 2016-07-08 00:00:00 is finished\n",
      "2018-01-03 16:37:27,853 - ALPHA_MIND - INFO - 2016-07-15 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:28,078 - ALPHA_MIND - INFO - 2016-07-15 00:00:00 is finished\n",
      "2018-01-03 16:37:28,084 - ALPHA_MIND - INFO - 2016-07-22 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:28,296 - ALPHA_MIND - INFO - 2016-07-22 00:00:00 is finished\n",
      "2018-01-03 16:37:28,302 - ALPHA_MIND - INFO - 2016-07-29 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:28,516 - ALPHA_MIND - INFO - 2016-07-29 00:00:00 is finished\n",
      "2018-01-03 16:37:28,522 - ALPHA_MIND - INFO - 2016-08-05 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:28,734 - ALPHA_MIND - INFO - 2016-08-05 00:00:00 is finished\n",
      "2018-01-03 16:37:28,740 - ALPHA_MIND - INFO - 2016-08-12 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:28,958 - ALPHA_MIND - INFO - 2016-08-12 00:00:00 is finished\n",
      "2018-01-03 16:37:28,964 - ALPHA_MIND - INFO - 2016-08-19 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:29,184 - ALPHA_MIND - INFO - 2016-08-19 00:00:00 is finished\n",
      "2018-01-03 16:37:29,189 - ALPHA_MIND - INFO - 2016-08-26 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:29,414 - ALPHA_MIND - INFO - 2016-08-26 00:00:00 is finished\n",
      "2018-01-03 16:37:29,419 - ALPHA_MIND - INFO - 2016-09-02 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:29,631 - ALPHA_MIND - INFO - 2016-09-02 00:00:00 is finished\n",
      "2018-01-03 16:37:29,636 - ALPHA_MIND - INFO - 2016-09-09 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:29,850 - ALPHA_MIND - INFO - 2016-09-09 00:00:00 is finished\n",
      "2018-01-03 16:37:29,856 - ALPHA_MIND - INFO - 2016-09-20 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:30,079 - ALPHA_MIND - INFO - 2016-09-20 00:00:00 is finished\n",
      "2018-01-03 16:37:30,086 - ALPHA_MIND - INFO - 2016-09-27 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:30,384 - ALPHA_MIND - INFO - 2016-09-27 00:00:00 is finished\n",
      "2018-01-03 16:37:30,389 - ALPHA_MIND - INFO - 2016-10-11 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:30,610 - ALPHA_MIND - INFO - 2016-10-11 00:00:00 is finished\n",
      "2018-01-03 16:37:30,616 - ALPHA_MIND - INFO - 2016-10-18 00:00:00: 800\n",
      "2018-01-03 16:37:30,821 - ALPHA_MIND - INFO - 2016-10-18 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:30,826 - ALPHA_MIND - INFO - 2016-10-25 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:31,061 - ALPHA_MIND - INFO - 2016-10-25 00:00:00 is finished\n",
      "2018-01-03 16:37:31,066 - ALPHA_MIND - INFO - 2016-11-01 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:31,294 - ALPHA_MIND - INFO - 2016-11-01 00:00:00 is finished\n",
      "2018-01-03 16:37:31,300 - ALPHA_MIND - INFO - 2016-11-08 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:31,513 - ALPHA_MIND - INFO - 2016-11-08 00:00:00 is finished\n",
      "2018-01-03 16:37:31,519 - ALPHA_MIND - INFO - 2016-11-15 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:31,737 - ALPHA_MIND - INFO - 2016-11-15 00:00:00 is finished\n",
      "2018-01-03 16:37:31,743 - ALPHA_MIND - INFO - 2016-11-22 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:31,964 - ALPHA_MIND - INFO - 2016-11-22 00:00:00 is finished\n",
      "2018-01-03 16:37:31,970 - ALPHA_MIND - INFO - 2016-11-29 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:32,182 - ALPHA_MIND - INFO - 2016-11-29 00:00:00 is finished\n",
      "2018-01-03 16:37:32,189 - ALPHA_MIND - INFO - 2016-12-06 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:32,414 - ALPHA_MIND - INFO - 2016-12-06 00:00:00 is finished\n",
      "2018-01-03 16:37:32,419 - ALPHA_MIND - INFO - 2016-12-13 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:32,643 - ALPHA_MIND - INFO - 2016-12-13 00:00:00 is finished\n",
      "2018-01-03 16:37:32,649 - ALPHA_MIND - INFO - 2016-12-20 00:00:00: 800\n",
      "2018-01-03 16:37:32,858 - ALPHA_MIND - INFO - 2016-12-20 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:32,864 - ALPHA_MIND - INFO - 2016-12-27 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:33,077 - ALPHA_MIND - INFO - 2016-12-27 00:00:00 is finished\n",
      "2018-01-03 16:37:33,083 - ALPHA_MIND - INFO - 2017-01-04 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:33,310 - ALPHA_MIND - INFO - 2017-01-04 00:00:00 is finished\n",
      "2018-01-03 16:37:33,316 - ALPHA_MIND - INFO - 2017-01-11 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:33,536 - ALPHA_MIND - INFO - 2017-01-11 00:00:00 is finished\n",
      "2018-01-03 16:37:33,541 - ALPHA_MIND - INFO - 2017-01-18 00:00:00: 799\n",
      "2018-01-03 16:37:33,750 - ALPHA_MIND - INFO - 2017-01-18 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:33,756 - ALPHA_MIND - INFO - 2017-01-25 00:00:00: 799\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:34,052 - ALPHA_MIND - INFO - 2017-01-25 00:00:00 is finished\n",
      "2018-01-03 16:37:34,057 - ALPHA_MIND - INFO - 2017-02-08 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:34,291 - ALPHA_MIND - INFO - 2017-02-08 00:00:00 is finished\n",
      "2018-01-03 16:37:34,296 - ALPHA_MIND - INFO - 2017-02-15 00:00:00: 799\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:34,517 - ALPHA_MIND - INFO - 2017-02-15 00:00:00 is finished\n",
      "2018-01-03 16:37:34,523 - ALPHA_MIND - INFO - 2017-02-22 00:00:00: 799\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:34,753 - ALPHA_MIND - INFO - 2017-02-22 00:00:00 is finished\n",
      "2018-01-03 16:37:34,759 - ALPHA_MIND - INFO - 2017-03-01 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:34,973 - ALPHA_MIND - INFO - 2017-03-01 00:00:00 is finished\n",
      "2018-01-03 16:37:34,980 - ALPHA_MIND - INFO - 2017-03-08 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:35,209 - ALPHA_MIND - INFO - 2017-03-08 00:00:00 is finished\n",
      "2018-01-03 16:37:35,215 - ALPHA_MIND - INFO - 2017-03-15 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:35,442 - ALPHA_MIND - INFO - 2017-03-15 00:00:00 is finished\n",
      "2018-01-03 16:37:35,448 - ALPHA_MIND - INFO - 2017-03-22 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:35,668 - ALPHA_MIND - INFO - 2017-03-22 00:00:00 is finished\n",
      "2018-01-03 16:37:35,673 - ALPHA_MIND - INFO - 2017-03-29 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:35,889 - ALPHA_MIND - INFO - 2017-03-29 00:00:00 is finished\n",
      "2018-01-03 16:37:35,895 - ALPHA_MIND - INFO - 2017-04-07 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:36,122 - ALPHA_MIND - INFO - 2017-04-07 00:00:00 is finished\n",
      "2018-01-03 16:37:36,129 - ALPHA_MIND - INFO - 2017-04-14 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:36,346 - ALPHA_MIND - INFO - 2017-04-14 00:00:00 is finished\n",
      "2018-01-03 16:37:36,353 - ALPHA_MIND - INFO - 2017-04-21 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:36,570 - ALPHA_MIND - INFO - 2017-04-21 00:00:00 is finished\n",
      "2018-01-03 16:37:36,576 - ALPHA_MIND - INFO - 2017-04-28 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:36,813 - ALPHA_MIND - INFO - 2017-04-28 00:00:00 is finished\n",
      "2018-01-03 16:37:36,817 - ALPHA_MIND - INFO - 2017-05-08 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:37,040 - ALPHA_MIND - INFO - 2017-05-08 00:00:00 is finished\n",
      "2018-01-03 16:37:37,047 - ALPHA_MIND - INFO - 2017-05-15 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:37,265 - ALPHA_MIND - INFO - 2017-05-15 00:00:00 is finished\n",
      "2018-01-03 16:37:37,271 - ALPHA_MIND - INFO - 2017-05-22 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:37,491 - ALPHA_MIND - INFO - 2017-05-22 00:00:00 is finished\n",
      "2018-01-03 16:37:37,497 - ALPHA_MIND - INFO - 2017-05-31 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:37,803 - ALPHA_MIND - INFO - 2017-05-31 00:00:00 is finished\n",
      "2018-01-03 16:37:37,809 - ALPHA_MIND - INFO - 2017-06-07 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:38,028 - ALPHA_MIND - INFO - 2017-06-07 00:00:00 is finished\n",
      "2018-01-03 16:37:38,034 - ALPHA_MIND - INFO - 2017-06-14 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:38,253 - ALPHA_MIND - INFO - 2017-06-14 00:00:00 is finished\n",
      "2018-01-03 16:37:38,260 - ALPHA_MIND - INFO - 2017-06-21 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:38,501 - ALPHA_MIND - INFO - 2017-06-21 00:00:00 is finished\n",
      "2018-01-03 16:37:38,506 - ALPHA_MIND - INFO - 2017-06-28 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:38,718 - ALPHA_MIND - INFO - 2017-06-28 00:00:00 is finished\n",
      "2018-01-03 16:37:38,725 - ALPHA_MIND - INFO - 2017-07-05 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:38,942 - ALPHA_MIND - INFO - 2017-07-05 00:00:00 is finished\n",
      "2018-01-03 16:37:38,949 - ALPHA_MIND - INFO - 2017-07-12 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:39,163 - ALPHA_MIND - INFO - 2017-07-12 00:00:00 is finished\n",
      "2018-01-03 16:37:39,168 - ALPHA_MIND - INFO - 2017-07-19 00:00:00: 800\n",
      "2018-01-03 16:37:39,379 - ALPHA_MIND - INFO - 2017-07-19 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:39,385 - ALPHA_MIND - INFO - 2017-07-26 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:39,617 - ALPHA_MIND - INFO - 2017-07-26 00:00:00 is finished\n",
      "2018-01-03 16:37:39,623 - ALPHA_MIND - INFO - 2017-08-02 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:39,848 - ALPHA_MIND - INFO - 2017-08-02 00:00:00 is finished\n",
      "2018-01-03 16:37:39,854 - ALPHA_MIND - INFO - 2017-08-09 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:40,089 - ALPHA_MIND - INFO - 2017-08-09 00:00:00 is finished\n",
      "2018-01-03 16:37:40,094 - ALPHA_MIND - INFO - 2017-08-16 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:40,306 - ALPHA_MIND - INFO - 2017-08-16 00:00:00 is finished\n",
      "2018-01-03 16:37:40,312 - ALPHA_MIND - INFO - 2017-08-23 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:40,543 - ALPHA_MIND - INFO - 2017-08-23 00:00:00 is finished\n",
      "2018-01-03 16:37:40,549 - ALPHA_MIND - INFO - 2017-08-30 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:40,774 - ALPHA_MIND - INFO - 2017-08-30 00:00:00 is finished\n",
      "2018-01-03 16:37:40,780 - ALPHA_MIND - INFO - 2017-09-06 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:41,009 - ALPHA_MIND - INFO - 2017-09-06 00:00:00 is finished\n",
      "2018-01-03 16:37:41,015 - ALPHA_MIND - INFO - 2017-09-13 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:41,235 - ALPHA_MIND - INFO - 2017-09-13 00:00:00 is finished\n",
      "2018-01-03 16:37:41,241 - ALPHA_MIND - INFO - 2017-09-20 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:41,541 - ALPHA_MIND - INFO - 2017-09-20 00:00:00 is finished\n",
      "2018-01-03 16:37:41,548 - ALPHA_MIND - INFO - 2017-09-27 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:41,764 - ALPHA_MIND - INFO - 2017-09-27 00:00:00 is finished\n",
      "2018-01-03 16:37:41,769 - ALPHA_MIND - INFO - 2017-10-11 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:41,985 - ALPHA_MIND - INFO - 2017-10-11 00:00:00 is finished\n",
      "2018-01-03 16:37:41,993 - ALPHA_MIND - INFO - 2017-10-18 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:42,221 - ALPHA_MIND - INFO - 2017-10-18 00:00:00 is finished\n",
      "2018-01-03 16:37:42,227 - ALPHA_MIND - INFO - 2017-10-25 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:42,467 - ALPHA_MIND - INFO - 2017-10-25 00:00:00 is finished\n",
      "2018-01-03 16:37:42,472 - ALPHA_MIND - INFO - 2017-11-01 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:42,694 - ALPHA_MIND - INFO - 2017-11-01 00:00:00 is finished\n",
      "2018-01-03 16:37:42,700 - ALPHA_MIND - INFO - 2017-11-08 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:42,912 - ALPHA_MIND - INFO - 2017-11-08 00:00:00 is finished\n",
      "2018-01-03 16:37:42,918 - ALPHA_MIND - INFO - 2017-11-15 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:43,139 - ALPHA_MIND - INFO - 2017-11-15 00:00:00 is finished\n",
      "2018-01-03 16:37:43,145 - ALPHA_MIND - INFO - 2017-11-22 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:43,361 - ALPHA_MIND - INFO - 2017-11-22 00:00:00 is finished\n",
      "2018-01-03 16:37:43,367 - ALPHA_MIND - INFO - 2017-11-29 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:43,582 - ALPHA_MIND - INFO - 2017-11-29 00:00:00 is finished\n",
      "2018-01-03 16:37:43,588 - ALPHA_MIND - INFO - 2017-12-06 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:43,808 - ALPHA_MIND - INFO - 2017-12-06 00:00:00 is finished\n",
      "2018-01-03 16:37:43,813 - ALPHA_MIND - INFO - 2017-12-13 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:44,029 - ALPHA_MIND - INFO - 2017-12-13 00:00:00 is finished\n",
      "2018-01-03 16:37:44,035 - ALPHA_MIND - INFO - 2017-12-20 00:00:00: 800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2018-01-03 16:37:44,270 - ALPHA_MIND - INFO - 2017-12-20 00:00:00 is finished\n",
      "2018-01-03 16:37:44,276 - ALPHA_MIND - INFO - 2017-12-27 00:00:00: 800\n",
      "2018-01-03 16:37:44,463 - ALPHA_MIND - INFO - 2017-12-27 00:00:00 is finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using alpha model\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2091cf6d4e0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\"\"\"\n",
    "Predicting and re-balance phase\n",
    "\"\"\"\n",
    "\n",
    "factor_groups = const_model_factor_data.groupby('trade_date')\n",
    "\n",
    "for weight_gap in weight_gaps:\n",
    "    print(\"start {0} weight gap simulation ...\".format(weight_gap))\n",
    "\n",
    "    rets = []\n",
    "    turn_overs = []\n",
    "    leverags = []\n",
    "    previous_pos = pd.DataFrame()\n",
    "\n",
    "    index_dates = []\n",
    "\n",
    "    for i, value in enumerate(factor_groups):\n",
    "        date = value[0]\n",
    "        data = value[1]\n",
    "        ref_date = date.strftime('%Y-%m-%d')\n",
    "\n",
    "        total_data = data.fillna(data[total_features_keys].median())\n",
    "        alpha_logger.info('{0}: {1}'.format(date, len(total_data)))\n",
    "        risk_exp = total_data[neutralize_risk].values.astype(float)\n",
    "        industry = total_data.industry_code.values\n",
    "        benchmark_w = total_data.weight.values\n",
    "\n",
    "        constraint_exp = total_data[constraint_risk].values\n",
    "        risk_exp_expand = np.concatenate((constraint_exp, np.ones((len(risk_exp), 1))), axis=1).astype(float)\n",
    "\n",
    "        risk_names = constraint_risk + ['total']\n",
    "        risk_target = risk_exp_expand.T @ benchmark_w\n",
    "\n",
    "        lbound = np.maximum(0., benchmark_w - weight_gap)  # np.zeros(len(total_data))\n",
    "        ubound = weight_gap + benchmark_w\n",
    "\n",
    "        is_in_benchmark = (benchmark_w > 0.).astype(float)\n",
    "\n",
    "        risk_exp_expand = np.concatenate((risk_exp_expand, is_in_benchmark.reshape((-1, 1))), axis=1).astype(float)\n",
    "        risk_names.append('benchmark_total')\n",
    "\n",
    "        constraint = Constraints(risk_exp_expand, risk_names)\n",
    "\n",
    "        for i, name in enumerate(risk_names):\n",
    "            if name == 'total':\n",
    "                constraint.set_constraints(name,\n",
    "                                           lower_bound=risk_target[i],\n",
    "                                           upper_bound=risk_target[i])\n",
    "            elif name == 'SIZE':\n",
    "                base_target = abs(risk_target[i])\n",
    "                constraint.set_constraints(name,\n",
    "                                           lower_bound=risk_target[i] + base_target * size_risk_lower,\n",
    "                                           upper_bound=risk_target[i] + base_target * size_risk_upper)\n",
    "            elif name == 'benchmark_total':\n",
    "                base_target = benchmark_w.sum()\n",
    "                constraint.set_constraints(name,\n",
    "                                           lower_bound=benchmark_total_lower * base_target,\n",
    "                                           upper_bound=benchmark_total_upper * base_target)\n",
    "            else:\n",
    "                constraint.set_constraints(name,\n",
    "                                           lower_bound=risk_target[i] * industry_lower,\n",
    "                                           upper_bound=risk_target[i] * industry_upper)\n",
    "        \n",
    "        factor_values = factor_processing(total_data[const_features_keys].values,\n",
    "                                          pre_process=[winsorize_normal, standardize],\n",
    "                                          risk_factors=risk_exp,\n",
    "                                          post_process=[winsorize_normal, standardize])\n",
    "\n",
    "        # const linear model\n",
    "        er1 = const_model.predict(factor_values)\n",
    "\n",
    "        # linear regression model\n",
    "        models = models_series[models_series.index <= date]\n",
    "        if models.empty:\n",
    "            continue\n",
    "\n",
    "        index_dates.append(date)\n",
    "        model = models[-1]\n",
    "\n",
    "        # x = predict_x[date]\n",
    "        x = factor_processing(total_data[linear_model_features_keys].values,\n",
    "                              pre_process=[winsorize_normal, standardize],\n",
    "                              risk_factors=risk_exp,\n",
    "                              post_process=[winsorize_normal, standardize])\n",
    "        er2 = model.predict(x)\n",
    "\n",
    "        # combine model\n",
    "        er1_table = pd.DataFrame({'er1': er1, 'code': total_data.code.values})\n",
    "        er2_table = pd.DataFrame({'er2': er2, 'code': total_data.code.values})\n",
    "        er_table = pd.merge(er1_table, er2_table, on=['code'], how='left').fillna(0)\n",
    "\n",
    "        er1 = er_table.er1.values\n",
    "        er2 = er_table.er2.values\n",
    "        \n",
    "        if er2.std() > 0:\n",
    "            print('using alpha model')\n",
    "        \n",
    "        er = model1_weight * er1 +  model2_weight * er2\n",
    "\n",
    "        codes = total_data['code'].values\n",
    "\n",
    "        if previous_pos.empty:\n",
    "            current_position = None\n",
    "            turn_over_target = None\n",
    "        else:\n",
    "            previous_pos.set_index('code', inplace=True)\n",
    "            remained_pos = previous_pos.loc[codes]\n",
    "\n",
    "            remained_pos.fillna(0., inplace=True)\n",
    "            turn_over_target = turn_over_target_base\n",
    "            current_position = remained_pos.weight.values\n",
    "\n",
    "        try:\n",
    "            target_pos, _ = er_portfolio_analysis(er,\n",
    "                                                  industry,\n",
    "                                                  None,\n",
    "                                                  constraint,\n",
    "                                                  False,\n",
    "                                                  benchmark_w,\n",
    "                                                  method=method,\n",
    "                                                  use_rank=use_rank,\n",
    "                                                  turn_over_target=turn_over_target,\n",
    "                                                  current_position=current_position,\n",
    "                                                  lbound=lbound,\n",
    "                                                  ubound=ubound)\n",
    "        except ValueError:\n",
    "            alpha_logger.info('{0} full re-balance'.format(date))\n",
    "            target_pos, _ = er_portfolio_analysis(er,\n",
    "                                                  industry,\n",
    "                                                  None,\n",
    "                                                  constraint,\n",
    "                                                  False,\n",
    "                                                  benchmark_w,\n",
    "                                                  method=method,\n",
    "                                                  use_rank=use_rank,\n",
    "                                                  lbound=lbound,\n",
    "                                                  ubound=ubound)\n",
    "\n",
    "        target_pos['code'] = total_data['code'].values\n",
    "\n",
    "        turn_over, executed_pos = executor.execute(target_pos=target_pos)\n",
    "\n",
    "        executed_codes = executed_pos.code.tolist()\n",
    "        dx_returns = engine.fetch_dx_return(date, executed_codes, horizon=horizon, offset=1)\n",
    "\n",
    "        result = pd.merge(executed_pos, total_data[['code', 'weight']], on=['code'], how='inner')\n",
    "        result = pd.merge(result, dx_returns, on=['code'])\n",
    "\n",
    "        leverage = result.weight_x.abs().sum()\n",
    "\n",
    "        ret = result.weight_x.values @ (np.exp(result.dx.values) - 1.)\n",
    "        rets.append(np.log(1. + ret))\n",
    "        executor.set_current(executed_pos)\n",
    "        turn_overs.append(turn_over)\n",
    "        leverags.append(leverage)\n",
    "\n",
    "        previous_pos = executed_pos\n",
    "        alpha_logger.info('{0} is finished'.format(date))\n",
    "\n",
    "    ret_df = pd.DataFrame({'returns': rets, 'turn_over': turn_overs, 'leverage': leverage}, index=index_dates)\n",
    "\n",
    "    # index return\n",
    "    index_return = engine.fetch_dx_return_index_range(benchmark_code, start_date, end_date, horizon=horizon,\n",
    "                                                      offset=1).set_index('trade_date')\n",
    "    ret_df['index'] = index_return['dx']\n",
    "\n",
    "    ret_df.loc[advanceDateByCalendar('china.sse', ref_dates[-1], frequency)] = 0.\n",
    "    ret_df = ret_df.shift(1)\n",
    "    ret_df.iloc[0] = 0.\n",
    "    ret_df['tc_cost'] = ret_df.turn_over * 0.002\n",
    "    ret_df['returns'] = ret_df['leverage'] * (ret_df['returns'] - ret_df['index'])\n",
    "\n",
    "    ret_df[['returns', 'tc_cost']].cumsum().plot(figsize=(12, 6),\n",
    "                                                 title='Fixed frequency rebalanced: {0}'.format(frequency),\n",
    "                                                 secondary_y='tc_cost')\n",
    "\n",
    "    ret_df['ret_after_tc'] = ret_df['returns'] - ret_df['tc_cost']\n",
    "    ret_df.to_csv('d:/hs300.csv')\n",
    "    \n",
    "\n",
    "#     sharp_calc = MovingSharp(49)\n",
    "#     drawdown_calc = MovingMaxDrawdown(49)\n",
    "#     max_drawdown_calc = MovingMaxDrawdown(len(ret_df))\n",
    "\n",
    "#     res_df = pd.DataFrame(columns=['daily_return', 'cum_ret', 'sharp', 'drawdown', 'max_drawn', 'leverage'])\n",
    "\n",
    "#     total_returns = 0.\n",
    "\n",
    "#     for i, ret in enumerate(ret_df['ret_after_tc']):\n",
    "#         date = ret_df.index[i]\n",
    "#         total_returns += ret\n",
    "#         sharp_calc.push({'ret': ret, 'riskFree': 0.})\n",
    "#         drawdown_calc.push({'ret': ret})\n",
    "#         max_drawdown_calc.push({'ret': ret})\n",
    "\n",
    "#         res_df.loc[date, 'daily_return'] = ret\n",
    "#         res_df.loc[date, 'cum_ret'] = total_returns\n",
    "#         res_df.loc[date, 'drawdown'] = drawdown_calc.result()[0]\n",
    "#         res_df.loc[date, 'max_drawn'] = max_drawdown_calc.result()[0]\n",
    "#         res_df.loc[date, 'leverage'] = ret_df.loc[date, 'leverage']\n",
    "\n",
    "#         if i < 10:\n",
    "#             res_df.loc[date, 'sharp'] = 0.\n",
    "#         else:\n",
    "#             res_df.loc[date, 'sharp'] = sharp_calc.result() * np.sqrt(49)\n",
    "\n",
    "#     res_df.to_csv('hs300_{0}.csv'.format(int(weight_gap * 100)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "## combine\n",
    "-------------"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [],
   "source": [
    "from pandas import ExcelWriter\n",
    "writer = ExcelWriter('d:/多因子500+300合并.xlsx')\n",
    "\n",
    "df1 = pd.read_csv('d:/hs300.csv', index_col=0)\n",
    "df2 = pd.read_csv('d:/zz500.csv', index_col=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [],
   "source": [
    "weights_secnario = {\n",
    "    '3-1': (3., 1.),\n",
    "    '2-1': (2., 1.),\n",
    "    '1-1': (1., 1.),\n",
    "}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "for key, weights in weights_secnario.items():\n",
    "    weight300, weight500 = weights\n",
    "    ret_series = (weight300* df1['ret_after_tc'] + weight500 * df2['ret_after_tc']) /  (weight300 + weight500)\n",
    "\n",
    "    sharp_calc = MovingSharp(49)\n",
    "    drawdown_calc = MovingMaxDrawdown(49)\n",
    "    max_drawdown_calc = MovingMaxDrawdown(len(ret_df))\n",
    "\n",
    "    res_df = pd.DataFrame(columns=['daily_return', 'cum_ret', 'sharp', 'drawdown', 'max_drawn'])\n",
    "\n",
    "    total_returns = 0.\n",
    "\n",
    "    for i, ret in enumerate(ret_series):\n",
    "        date = ret_series.index[i]\n",
    "        sharp_calc.push({'ret': ret, 'riskFree': 0.})\n",
    "        drawdown_calc.push({'ret': ret})\n",
    "        max_drawdown_calc.push({'ret': ret})\n",
    "        total_returns += ret\n",
    "        res_df.loc[date, 'daily_return'] = ret\n",
    "        res_df.loc[date, 'cum_ret'] = total_returns\n",
    "        res_df.loc[date, 'drawdown'] = drawdown_calc.result()[0]\n",
    "        res_df.loc[date, 'max_drawn'] = max_drawdown_calc.result()[0]\n",
    "\n",
    "        if i < 10:\n",
    "            res_df.loc[date, 'sharp'] = 0.\n",
    "        else:\n",
    "            res_df.loc[date, 'sharp'] = sharp_calc.result() * np.sqrt(49)\n",
    "            \n",
    "        res_df.to_excel(writer, key)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [],
   "source": [
    "writer.save()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
