尝试构建回测模块
This commit is contained in:
@@ -3,21 +3,19 @@
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-02-11T14:54:41.551895Z",
|
||||
"start_time": "2025-02-11T14:54:41.503584Z"
|
||||
"end_time": "2025-02-13T09:38:30.408310Z",
|
||||
"start_time": "2025-02-13T09:38:30.328797Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
"source": [
|
||||
"import backtrader as bt\n",
|
||||
"import backtrader.indicators as btind\n",
|
||||
"import backtrader.feeds as btfeeds\n",
|
||||
"import pandas as pd\n",
|
||||
"\n",
|
||||
"# source_df = pd.read_csv(\"/Users/lanyuanxiaoyao/SynologyDrive/data/Tushare/日线行情 1990-2024/分组行情/600519.SH.csv\") \\\n",
|
||||
"source_df = \\\n",
|
||||
" pd.read_csv(\"C:\\\\Users\\\\lanyuanxiaoyao\\\\SynologyDrive\\\\data\\\\Tushare\\\\日线行情 1990-2024\\\\分组行情\\\\000001.SZ.csv\")[\n",
|
||||
" [\"trade_date\", \"vol\", \"open_qfq\", \"close_qfq\", \"high_qfq\", \"low_qfq\", \"macd\", \"macd_dif\", \"macd_dea\"]]\n",
|
||||
"# source_df = \\\n",
|
||||
"# pd.read_csv(\"C:\\\\Users\\\\lanyuanxiaoyao\\\\SynologyDrive\\\\data\\\\Tushare\\\\日线行情 1990-2024\\\\分组行情\\\\000001.SZ.csv\")[\n",
|
||||
"source_df = pd.read_csv(\"/Users/lanyuanxiaoyao/SynologyDrive/data/Tushare/日线行情 1990-2024/分组行情/600519.SH.csv\") \\\n",
|
||||
" [[\"trade_date\", \"vol\", \"open_qfq\", \"close_qfq\", \"high_qfq\", \"low_qfq\", \"macd\", \"macd_dif\", \"macd_dea\"]]\n",
|
||||
"df = pd.DataFrame()\n",
|
||||
"df[[\"date\", \"volume\", \"open\", \"close\", \"high\", \"low\", \"macd\", \"macd_dif\", \"macd_dea\"]] = \\\n",
|
||||
" source_df[[\"trade_date\", \"vol\", \"open_qfq\", \"close_qfq\", \"high_qfq\", \"low_qfq\", \"macd\", \"macd_dif\", \"macd_dea\"]]\n",
|
||||
@@ -26,282 +24,35 @@
|
||||
"df = df[df[\"datetime\"].dt.year > 2010]\n",
|
||||
"df.sort_values(by='datetime', inplace=True)\n",
|
||||
"df.set_index('datetime', inplace=True)\n",
|
||||
"df"
|
||||
"# df"
|
||||
],
|
||||
"id": "157a87ab33037c6e",
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
" date volume open close high low \\\n",
|
||||
"datetime \n",
|
||||
"2011-01-04 20110104 358840.61 4.44526 4.50145 4.54641 4.39749 \n",
|
||||
"2011-01-05 20110105 237462.63 4.49302 4.47616 4.53236 4.47054 \n",
|
||||
"2011-01-06 20110106 206531.27 4.47616 4.44245 4.51831 4.41154 \n",
|
||||
"2011-01-07 20110107 770482.21 4.43964 4.61104 4.71501 4.41154 \n",
|
||||
"2011-01-10 20110110 361872.13 4.56046 4.49021 4.60823 4.46773 \n",
|
||||
"... ... ... ... ... ... ... \n",
|
||||
"2024-12-25 20241225 1475282.94 11.86000 11.92000 12.02000 11.84000 \n",
|
||||
"2024-12-26 20241226 1000074.70 11.92000 11.86000 11.93000 11.78000 \n",
|
||||
"2024-12-27 20241227 1290012.28 11.87000 11.83000 11.90000 11.66000 \n",
|
||||
"2024-12-30 20241230 1351846.36 11.78000 11.95000 11.97000 11.78000 \n",
|
||||
"2024-12-31 20241231 1475367.33 11.93000 11.70000 11.99000 11.70000 \n",
|
||||
"\n",
|
||||
" macd macd_dif macd_dea datetime_text \n",
|
||||
"datetime \n",
|
||||
"2011-01-04 -0.003 -0.088 -0.087 20110104 \n",
|
||||
"2011-01-05 0.003 -0.085 -0.087 20110105 \n",
|
||||
"2011-01-06 0.003 -0.085 -0.086 20110106 \n",
|
||||
"2011-01-07 0.027 -0.070 -0.083 20110107 \n",
|
||||
"2011-01-10 0.026 -0.067 -0.080 20110110 \n",
|
||||
"... ... ... ... ... \n",
|
||||
"2024-12-25 0.050 0.080 0.055 20241225 \n",
|
||||
"2024-12-26 0.051 0.087 0.062 20241226 \n",
|
||||
"2024-12-27 0.044 0.089 0.067 20241227 \n",
|
||||
"2024-12-30 0.052 0.100 0.074 20241230 \n",
|
||||
"2024-12-31 0.020 0.086 0.076 20241231 \n",
|
||||
"\n",
|
||||
"[3381 rows x 10 columns]"
|
||||
],
|
||||
"text/html": [
|
||||
"<div>\n",
|
||||
"<style scoped>\n",
|
||||
" .dataframe tbody tr th:only-of-type {\n",
|
||||
" vertical-align: middle;\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" .dataframe tbody tr th {\n",
|
||||
" vertical-align: top;\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" .dataframe thead th {\n",
|
||||
" text-align: right;\n",
|
||||
" }\n",
|
||||
"</style>\n",
|
||||
"<table border=\"1\" class=\"dataframe\">\n",
|
||||
" <thead>\n",
|
||||
" <tr style=\"text-align: right;\">\n",
|
||||
" <th></th>\n",
|
||||
" <th>date</th>\n",
|
||||
" <th>volume</th>\n",
|
||||
" <th>open</th>\n",
|
||||
" <th>close</th>\n",
|
||||
" <th>high</th>\n",
|
||||
" <th>low</th>\n",
|
||||
" <th>macd</th>\n",
|
||||
" <th>macd_dif</th>\n",
|
||||
" <th>macd_dea</th>\n",
|
||||
" <th>datetime_text</th>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>datetime</th>\n",
|
||||
" <th></th>\n",
|
||||
" <th></th>\n",
|
||||
" <th></th>\n",
|
||||
" <th></th>\n",
|
||||
" <th></th>\n",
|
||||
" <th></th>\n",
|
||||
" <th></th>\n",
|
||||
" <th></th>\n",
|
||||
" <th></th>\n",
|
||||
" <th></th>\n",
|
||||
" </tr>\n",
|
||||
" </thead>\n",
|
||||
" <tbody>\n",
|
||||
" <tr>\n",
|
||||
" <th>2011-01-04</th>\n",
|
||||
" <td>20110104</td>\n",
|
||||
" <td>358840.61</td>\n",
|
||||
" <td>4.44526</td>\n",
|
||||
" <td>4.50145</td>\n",
|
||||
" <td>4.54641</td>\n",
|
||||
" <td>4.39749</td>\n",
|
||||
" <td>-0.003</td>\n",
|
||||
" <td>-0.088</td>\n",
|
||||
" <td>-0.087</td>\n",
|
||||
" <td>20110104</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>2011-01-05</th>\n",
|
||||
" <td>20110105</td>\n",
|
||||
" <td>237462.63</td>\n",
|
||||
" <td>4.49302</td>\n",
|
||||
" <td>4.47616</td>\n",
|
||||
" <td>4.53236</td>\n",
|
||||
" <td>4.47054</td>\n",
|
||||
" <td>0.003</td>\n",
|
||||
" <td>-0.085</td>\n",
|
||||
" <td>-0.087</td>\n",
|
||||
" <td>20110105</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>2011-01-06</th>\n",
|
||||
" <td>20110106</td>\n",
|
||||
" <td>206531.27</td>\n",
|
||||
" <td>4.47616</td>\n",
|
||||
" <td>4.44245</td>\n",
|
||||
" <td>4.51831</td>\n",
|
||||
" <td>4.41154</td>\n",
|
||||
" <td>0.003</td>\n",
|
||||
" <td>-0.085</td>\n",
|
||||
" <td>-0.086</td>\n",
|
||||
" <td>20110106</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>2011-01-07</th>\n",
|
||||
" <td>20110107</td>\n",
|
||||
" <td>770482.21</td>\n",
|
||||
" <td>4.43964</td>\n",
|
||||
" <td>4.61104</td>\n",
|
||||
" <td>4.71501</td>\n",
|
||||
" <td>4.41154</td>\n",
|
||||
" <td>0.027</td>\n",
|
||||
" <td>-0.070</td>\n",
|
||||
" <td>-0.083</td>\n",
|
||||
" <td>20110107</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>2011-01-10</th>\n",
|
||||
" <td>20110110</td>\n",
|
||||
" <td>361872.13</td>\n",
|
||||
" <td>4.56046</td>\n",
|
||||
" <td>4.49021</td>\n",
|
||||
" <td>4.60823</td>\n",
|
||||
" <td>4.46773</td>\n",
|
||||
" <td>0.026</td>\n",
|
||||
" <td>-0.067</td>\n",
|
||||
" <td>-0.080</td>\n",
|
||||
" <td>20110110</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>...</th>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>2024-12-25</th>\n",
|
||||
" <td>20241225</td>\n",
|
||||
" <td>1475282.94</td>\n",
|
||||
" <td>11.86000</td>\n",
|
||||
" <td>11.92000</td>\n",
|
||||
" <td>12.02000</td>\n",
|
||||
" <td>11.84000</td>\n",
|
||||
" <td>0.050</td>\n",
|
||||
" <td>0.080</td>\n",
|
||||
" <td>0.055</td>\n",
|
||||
" <td>20241225</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>2024-12-26</th>\n",
|
||||
" <td>20241226</td>\n",
|
||||
" <td>1000074.70</td>\n",
|
||||
" <td>11.92000</td>\n",
|
||||
" <td>11.86000</td>\n",
|
||||
" <td>11.93000</td>\n",
|
||||
" <td>11.78000</td>\n",
|
||||
" <td>0.051</td>\n",
|
||||
" <td>0.087</td>\n",
|
||||
" <td>0.062</td>\n",
|
||||
" <td>20241226</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>2024-12-27</th>\n",
|
||||
" <td>20241227</td>\n",
|
||||
" <td>1290012.28</td>\n",
|
||||
" <td>11.87000</td>\n",
|
||||
" <td>11.83000</td>\n",
|
||||
" <td>11.90000</td>\n",
|
||||
" <td>11.66000</td>\n",
|
||||
" <td>0.044</td>\n",
|
||||
" <td>0.089</td>\n",
|
||||
" <td>0.067</td>\n",
|
||||
" <td>20241227</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>2024-12-30</th>\n",
|
||||
" <td>20241230</td>\n",
|
||||
" <td>1351846.36</td>\n",
|
||||
" <td>11.78000</td>\n",
|
||||
" <td>11.95000</td>\n",
|
||||
" <td>11.97000</td>\n",
|
||||
" <td>11.78000</td>\n",
|
||||
" <td>0.052</td>\n",
|
||||
" <td>0.100</td>\n",
|
||||
" <td>0.074</td>\n",
|
||||
" <td>20241230</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>2024-12-31</th>\n",
|
||||
" <td>20241231</td>\n",
|
||||
" <td>1475367.33</td>\n",
|
||||
" <td>11.93000</td>\n",
|
||||
" <td>11.70000</td>\n",
|
||||
" <td>11.99000</td>\n",
|
||||
" <td>11.70000</td>\n",
|
||||
" <td>0.020</td>\n",
|
||||
" <td>0.086</td>\n",
|
||||
" <td>0.076</td>\n",
|
||||
" <td>20241231</td>\n",
|
||||
" </tr>\n",
|
||||
" </tbody>\n",
|
||||
"</table>\n",
|
||||
"<p>3381 rows × 10 columns</p>\n",
|
||||
"</div>"
|
||||
]
|
||||
},
|
||||
"execution_count": 38,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"execution_count": 38
|
||||
"outputs": [],
|
||||
"execution_count": 46
|
||||
},
|
||||
{
|
||||
"metadata": {},
|
||||
"cell_type": "code",
|
||||
"outputs": [],
|
||||
"execution_count": null,
|
||||
"source": "",
|
||||
"id": "12fde7bfaddbdf4"
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-02-11T14:54:41.578827Z",
|
||||
"start_time": "2025-02-11T14:54:41.573382Z"
|
||||
"end_time": "2025-02-13T09:36:52.737860Z",
|
||||
"start_time": "2025-02-13T09:36:51.459915Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
"source": [
|
||||
"import calendar\n",
|
||||
"\n",
|
||||
"cerebro = bt.Cerebro()\n",
|
||||
"\n",
|
||||
"data_feed = bt.feeds.PandasData(dataname=df)\n",
|
||||
"cerebro.adddata(data_feed)"
|
||||
],
|
||||
"id": "e8d5d0798ade1de8",
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"<backtrader.feeds.pandafeed.PandasData at 0x1d1584ef4a0>"
|
||||
]
|
||||
},
|
||||
"execution_count": 39,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"execution_count": 39
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-02-11T14:54:41.630454Z",
|
||||
"start_time": "2025-02-11T14:54:41.626259Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
"source": [
|
||||
"cerebro.adddata(data_feed)\n",
|
||||
"# 初始资金 100,000,000\n",
|
||||
"cerebro.broker.setcash(100000000.0)\n",
|
||||
"# 佣金,双边各 0.0003\n",
|
||||
@@ -311,73 +62,18 @@
|
||||
"cerebro.addanalyzer(bt.analyzers.TimeReturn, _name='pnl') # 返回收益率时序数据\n",
|
||||
"cerebro.addanalyzer(bt.analyzers.AnnualReturn, _name='_AnnualReturn') # 年化收益率\n",
|
||||
"cerebro.addanalyzer(bt.analyzers.SharpeRatio, _name='_SharpeRatio') # 夏普比率\n",
|
||||
"cerebro.addanalyzer(bt.analyzers.DrawDown, _name='_DrawDown') # 回撤"
|
||||
],
|
||||
"id": "3b96d94a8ef3b7d4",
|
||||
"outputs": [],
|
||||
"execution_count": 40
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-02-11T14:54:42.085236Z",
|
||||
"start_time": "2025-02-11T14:54:41.716867Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
"source": [
|
||||
"cerebro.addanalyzer(bt.analyzers.DrawDown, _name='_DrawDown') # 回撤\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"# 创建策略类\n",
|
||||
"class DoubleMAStrategy(bt.Strategy):\n",
|
||||
" \"\"\"\n",
|
||||
" 这是一个基于简单移动平均线交叉的策略。\n",
|
||||
" 参数:\n",
|
||||
" - params = (short_window, long_window)\n",
|
||||
" short_window: 短期均线窗口(默认 10 天)\n",
|
||||
" long_window: 长期均线窗口(默认 30 天)\n",
|
||||
" \"\"\"\n",
|
||||
" params = (\n",
|
||||
" ('short_window', 10), # 短期均线窗口\n",
|
||||
" ('long_window', 30) # 长期均线窗口\n",
|
||||
" )\n",
|
||||
"\n",
|
||||
" def __init__(self):\n",
|
||||
" # 初始化短期和长期移动平均线\n",
|
||||
" self.sma_short = bt.indicators.SimpleMovingAverage(\n",
|
||||
" self.data.close, period=self.params.short_window, plotname='Short SMA'\n",
|
||||
" )\n",
|
||||
" self.sma_long = bt.indicators.SimpleMovingAverage(\n",
|
||||
" self.data.close, period=self.params.long_window, plotname='Long SMA'\n",
|
||||
" )\n",
|
||||
"\n",
|
||||
" # 记录交易状态(是否持仓)和订单信息\n",
|
||||
" self.order = None\n",
|
||||
" self.is_in_position = False\n",
|
||||
"\n",
|
||||
"class TestStrategy(bt.Strategy):\n",
|
||||
" def next(self):\n",
|
||||
" \"\"\"\n",
|
||||
" 在每个交易日执行的逻辑。\n",
|
||||
" \"\"\"\n",
|
||||
" # 检查是否有待处理的订单,如果有则跳过\n",
|
||||
" if self.order:\n",
|
||||
" return\n",
|
||||
"\n",
|
||||
" # 获取当前的短期和长期均线值\n",
|
||||
" sma_short_value = self.sma_short[0]\n",
|
||||
" sma_long_value = self.sma_long[0]\n",
|
||||
"\n",
|
||||
" # 如果短期均线向上穿过长期均线,且没有持仓\n",
|
||||
" if sma_short_value > sma_long_value and not self.is_in_position:\n",
|
||||
" # 发出买入信号\n",
|
||||
" self.log(f'BUY CREATE, {self.data.close[0]:.2f}')\n",
|
||||
" self.order = self.buy() # 下买单\n",
|
||||
" self.is_in_position = True\n",
|
||||
"\n",
|
||||
" # 如果短期均线向下穿过长期均线,且有持仓\n",
|
||||
" elif sma_short_value < sma_long_value and self.is_in_position:\n",
|
||||
" # 发出卖出信号\n",
|
||||
" self.log(f'SELL CREATE, {self.data.close[0]:.2f}')\n",
|
||||
" self.order = self.sell() # 下卖单\n",
|
||||
" self.is_in_position = False\n",
|
||||
" curr_date = self.datetime.date()\n",
|
||||
" _, last_day_month = calendar.monthrange(curr_date.year, curr_date.month)\n",
|
||||
" if curr_date.day == 1:\n",
|
||||
" self.buy()\n",
|
||||
" elif curr_date.day == last_day_month:\n",
|
||||
" self.sell()\n",
|
||||
"\n",
|
||||
" def log(self, txt, dt=None):\n",
|
||||
" \"\"\"\n",
|
||||
@@ -386,57 +82,30 @@
|
||||
" dt = dt or self.datas[0].datetime.date(0)\n",
|
||||
" print(f'{dt.isoformat()}, {txt}')\n",
|
||||
"\n",
|
||||
" def notify_order(self, order):\n",
|
||||
" \"\"\"\n",
|
||||
" 订单状态改变时调用。\n",
|
||||
" \"\"\"\n",
|
||||
" if order.status in [order.Submitted, order.Accepted]:\n",
|
||||
" # 订单提交和接受时,无需处理\n",
|
||||
" return\n",
|
||||
"\n",
|
||||
" # 检查订单是否已完成\n",
|
||||
" if order.status in [order.Completed]:\n",
|
||||
" if order.isbuy():\n",
|
||||
" self.log(\n",
|
||||
" f'BUY EXECUTED, Price: {order.executed.price:.2f}, Cost: {order.executed.value:.2f}, Comm: {order.executed.comm:.2f}'\n",
|
||||
" )\n",
|
||||
" elif order.issell():\n",
|
||||
" self.log(\n",
|
||||
" f'SELL EXECUTED, Price: {order.executed.price:.2f}, Cost: {order.executed.value:.2f}, Comm: {order.executed.comm:.2f}'\n",
|
||||
" )\n",
|
||||
"\n",
|
||||
" # 或者订单因某些原因被拒绝\n",
|
||||
" elif order.status in [order.Canceled, order.Margin, order.Rejected]:\n",
|
||||
" self.log('Order Canceled/Margin/Rejected')\n",
|
||||
"\n",
|
||||
" # 重置订单\n",
|
||||
" self.order = None\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"# 将编写的策略添加给大脑,别忘了 !\n",
|
||||
"cerebro.addstrategy(DoubleMAStrategy)\n",
|
||||
"cerebro.addstrategy(TestStrategy)\n",
|
||||
"\n",
|
||||
"print('初始资金: %.2f' % cerebro.broker.getvalue())\n",
|
||||
"results = cerebro.run()\n",
|
||||
"print('最终资金: %.2f' % cerebro.broker.getvalue())\n",
|
||||
"\n",
|
||||
"# 获取分析结果\n",
|
||||
"strat = results[0]\n",
|
||||
"print('夏普比率:', strat.analyzers._SharpeRatio.get_analysis()['sharperatio'])\n",
|
||||
"print('最大回撤:', strat.analyzers._DrawDown.get_analysis()['max']['drawdown'])\n",
|
||||
"\n",
|
||||
"# 返回日度收益率序列\n",
|
||||
"daily_return = pd.Series(strat.analyzers.pnl.get_analysis())\n",
|
||||
"# 打印评价指标\n",
|
||||
"print(\"--------------- AnnualReturn -----------------\")\n",
|
||||
"print(strat.analyzers._AnnualReturn.get_analysis())\n",
|
||||
"print(\"--------------- SharpeRatio -----------------\")\n",
|
||||
"print(strat.analyzers._SharpeRatio.get_analysis())\n",
|
||||
"print(\"--------------- DrawDown -----------------\")\n",
|
||||
"print(strat.analyzers._DrawDown.get_analysis())\n",
|
||||
"# # 返回日度收益率序列\n",
|
||||
"# daily_return = pd.Series(strat.analyzers.pnl.get_analysis())\n",
|
||||
"# # 打印评价指标\n",
|
||||
"# print(\"--------------- AnnualReturn -----------------\")\n",
|
||||
"# print(strat.analyzers._AnnualReturn.get_analysis())\n",
|
||||
"# print(\"--------------- SharpeRatio -----------------\")\n",
|
||||
"# print(strat.analyzers._SharpeRatio.get_analysis())\n",
|
||||
"# print(\"--------------- DrawDown -----------------\")\n",
|
||||
"# print(strat.analyzers._DrawDown.get_analysis())\n",
|
||||
"\n",
|
||||
"# 绘制结果图表\n",
|
||||
"cerebro.plot(style='candlestick')"
|
||||
"cerebro.plot(style='candlestick', width=20, height=10)"
|
||||
],
|
||||
"id": "45f8133af2348b95",
|
||||
"outputs": [
|
||||
@@ -445,253 +114,9 @@
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"初始资金: 100000000.00\n",
|
||||
"2011-02-21, BUY CREATE, 4.49\n",
|
||||
"2011-02-22, BUY EXECUTED, Price: 4.49, Cost: 4.49, Comm: 0.00\n",
|
||||
"2011-03-23, SELL CREATE, 4.52\n",
|
||||
"2011-03-24, SELL EXECUTED, Price: 4.52, Cost: 4.49, Comm: 0.00\n",
|
||||
"2011-03-31, BUY CREATE, 4.52\n",
|
||||
"2011-04-01, BUY EXECUTED, Price: 4.52, Cost: 4.52, Comm: 0.00\n",
|
||||
"2011-05-23, SELL CREATE, 5.03\n",
|
||||
"2011-05-24, SELL EXECUTED, Price: 5.00, Cost: 4.52, Comm: 0.00\n",
|
||||
"2011-07-05, BUY CREATE, 4.89\n",
|
||||
"2011-07-06, BUY EXECUTED, Price: 4.86, Cost: 4.86, Comm: 0.00\n",
|
||||
"2011-08-02, SELL CREATE, 4.78\n",
|
||||
"2011-08-03, SELL EXECUTED, Price: 4.71, Cost: 4.86, Comm: 0.00\n",
|
||||
"2011-09-06, BUY CREATE, 4.60\n",
|
||||
"2011-09-07, BUY EXECUTED, Price: 4.63, Cost: 4.63, Comm: 0.00\n",
|
||||
"2011-09-13, SELL CREATE, 4.64\n",
|
||||
"2011-09-14, SELL EXECUTED, Price: 4.65, Cost: 4.63, Comm: 0.00\n",
|
||||
"2011-09-21, BUY CREATE, 4.79\n",
|
||||
"2011-09-22, BUY EXECUTED, Price: 4.74, Cost: 4.74, Comm: 0.00\n",
|
||||
"2011-09-22, SELL CREATE, 4.69\n",
|
||||
"2011-09-23, SELL EXECUTED, Price: 4.61, Cost: 4.74, Comm: 0.00\n",
|
||||
"2011-10-28, BUY CREATE, 4.79\n",
|
||||
"2011-10-31, BUY EXECUTED, Price: 4.79, Cost: 4.79, Comm: 0.00\n",
|
||||
"2011-11-21, SELL CREATE, 4.48\n",
|
||||
"2011-11-22, SELL EXECUTED, Price: 4.47, Cost: 4.79, Comm: 0.00\n",
|
||||
"2012-01-30, BUY CREATE, 4.70\n",
|
||||
"2012-01-31, BUY EXECUTED, Price: 4.70, Cost: 4.70, Comm: 0.00\n",
|
||||
"2012-03-16, SELL CREATE, 4.61\n",
|
||||
"2012-03-19, SELL EXECUTED, Price: 4.59, Cost: 4.70, Comm: 0.00\n",
|
||||
"2012-04-23, BUY CREATE, 4.61\n",
|
||||
"2012-04-24, BUY EXECUTED, Price: 4.61, Cost: 4.61, Comm: 0.00\n",
|
||||
"2012-05-17, SELL CREATE, 4.48\n",
|
||||
"2012-05-18, SELL EXECUTED, Price: 4.44, Cost: 4.61, Comm: 0.00\n",
|
||||
"2012-08-08, BUY CREATE, 4.23\n",
|
||||
"2012-08-09, BUY EXECUTED, Price: 4.22, Cost: 4.22, Comm: 0.00\n",
|
||||
"2012-08-23, SELL CREATE, 4.11\n",
|
||||
"2012-08-24, SELL EXECUTED, Price: 4.10, Cost: 4.22, Comm: 0.00\n",
|
||||
"2012-10-29, BUY CREATE, 3.66\n",
|
||||
"2012-10-30, BUY EXECUTED, Price: 3.66, Cost: 3.66, Comm: 0.00\n",
|
||||
"2012-11-22, SELL CREATE, 3.72\n",
|
||||
"2012-11-23, SELL EXECUTED, Price: 3.73, Cost: 3.66, Comm: 0.00\n",
|
||||
"2012-12-11, BUY CREATE, 3.99\n",
|
||||
"2012-12-12, BUY EXECUTED, Price: 4.00, Cost: 4.00, Comm: 0.00\n",
|
||||
"2013-04-02, SELL CREATE, 5.79\n",
|
||||
"2013-04-03, SELL EXECUTED, Price: 5.82, Cost: 4.00, Comm: 0.00\n",
|
||||
"2013-05-14, BUY CREATE, 5.46\n",
|
||||
"2013-05-15, BUY EXECUTED, Price: 5.46, Cost: 5.46, Comm: 0.00\n",
|
||||
"2013-06-17, SELL CREATE, 5.45\n",
|
||||
"2013-06-18, SELL EXECUTED, Price: 5.51, Cost: 5.46, Comm: 0.00\n",
|
||||
"2013-08-05, BUY CREATE, 4.54\n",
|
||||
"2013-08-06, BUY EXECUTED, Price: 4.51, Cost: 4.51, Comm: 0.00\n",
|
||||
"2013-12-05, SELL CREATE, 6.14\n",
|
||||
"2013-12-06, SELL EXECUTED, Price: 6.15, Cost: 4.51, Comm: 0.00\n",
|
||||
"2014-02-17, BUY CREATE, 5.47\n",
|
||||
"2014-02-18, BUY EXECUTED, Price: 5.44, Cost: 5.44, Comm: 0.00\n",
|
||||
"2014-02-27, SELL CREATE, 5.14\n",
|
||||
"2014-02-28, SELL EXECUTED, Price: 5.10, Cost: 5.44, Comm: 0.00\n",
|
||||
"2014-04-03, BUY CREATE, 4.92\n",
|
||||
"2014-04-04, BUY EXECUTED, Price: 4.89, Cost: 4.89, Comm: 0.00\n",
|
||||
"2014-07-17, SELL CREATE, 5.33\n",
|
||||
"2014-07-18, SELL EXECUTED, Price: 5.31, Cost: 4.89, Comm: 0.00\n",
|
||||
"2014-07-28, BUY CREATE, 5.99\n",
|
||||
"2014-07-29, BUY EXECUTED, Price: 6.02, Cost: 6.02, Comm: 0.00\n",
|
||||
"2014-08-28, SELL CREATE, 5.64\n",
|
||||
"2014-08-29, SELL EXECUTED, Price: 5.64, Cost: 6.02, Comm: 0.00\n",
|
||||
"2014-10-31, BUY CREATE, 6.13\n",
|
||||
"2014-11-03, BUY EXECUTED, Price: 6.21, Cost: 6.21, Comm: 0.00\n",
|
||||
"2015-01-21, SELL CREATE, 8.02\n",
|
||||
"2015-01-22, SELL EXECUTED, Price: 7.97, Cost: 6.21, Comm: 0.00\n",
|
||||
"2015-03-13, BUY CREATE, 8.34\n",
|
||||
"2015-03-16, BUY EXECUTED, Price: 8.40, Cost: 8.40, Comm: 0.00\n",
|
||||
"2015-05-15, SELL CREATE, 10.40\n",
|
||||
"2015-05-18, SELL EXECUTED, Price: 10.23, Cost: 8.40, Comm: 0.00\n",
|
||||
"2015-06-04, BUY CREATE, 11.02\n",
|
||||
"2015-06-05, BUY EXECUTED, Price: 11.24, Cost: 11.24, Comm: 0.00\n",
|
||||
"2015-06-23, SELL CREATE, 10.06\n",
|
||||
"2015-06-24, SELL EXECUTED, Price: 10.09, Cost: 11.24, Comm: 0.00\n",
|
||||
"2015-10-19, BUY CREATE, 7.58\n",
|
||||
"2015-10-20, BUY EXECUTED, Price: 7.54, Cost: 7.54, Comm: 0.00\n",
|
||||
"2015-12-08, SELL CREATE, 8.05\n",
|
||||
"2015-12-09, SELL EXECUTED, Price: 8.02, Cost: 7.54, Comm: 0.00\n",
|
||||
"2015-12-25, BUY CREATE, 8.35\n",
|
||||
"2015-12-28, BUY EXECUTED, Price: 8.37, Cost: 8.37, Comm: 0.00\n",
|
||||
"2016-01-05, SELL CREATE, 7.67\n",
|
||||
"2016-01-06, SELL EXECUTED, Price: 7.68, Cost: 8.37, Comm: 0.00\n",
|
||||
"2016-03-10, BUY CREATE, 6.83\n",
|
||||
"2016-03-11, BUY EXECUTED, Price: 6.80, Cost: 6.80, Comm: 0.00\n",
|
||||
"2016-04-28, SELL CREATE, 7.17\n",
|
||||
"2016-04-29, SELL EXECUTED, Price: 7.16, Cost: 6.80, Comm: 0.00\n",
|
||||
"2016-06-08, BUY CREATE, 7.07\n",
|
||||
"2016-06-13, BUY EXECUTED, Price: 7.04, Cost: 7.04, Comm: 0.00\n",
|
||||
"2016-09-14, SELL CREATE, 7.43\n",
|
||||
"2016-09-19, SELL EXECUTED, Price: 7.42, Cost: 7.04, Comm: 0.00\n",
|
||||
"2016-10-28, BUY CREATE, 7.52\n",
|
||||
"2016-10-31, BUY EXECUTED, Price: 7.50, Cost: 7.50, Comm: 0.00\n",
|
||||
"2016-12-21, SELL CREATE, 7.51\n",
|
||||
"2016-12-22, SELL EXECUTED, Price: 7.50, Cost: 7.50, Comm: 0.00\n",
|
||||
"2017-01-24, BUY CREATE, 7.60\n",
|
||||
"2017-01-25, BUY EXECUTED, Price: 7.60, Cost: 7.60, Comm: 0.00\n",
|
||||
"2017-03-17, SELL CREATE, 7.63\n",
|
||||
"2017-03-20, SELL EXECUTED, Price: 7.62, Cost: 7.60, Comm: 0.00\n",
|
||||
"2017-05-31, BUY CREATE, 7.54\n",
|
||||
"2017-06-01, BUY EXECUTED, Price: 7.54, Cost: 7.54, Comm: 0.00\n",
|
||||
"2017-08-17, SELL CREATE, 8.67\n",
|
||||
"2017-08-18, SELL EXECUTED, Price: 8.62, Cost: 7.54, Comm: 0.00\n",
|
||||
"2017-08-29, BUY CREATE, 9.71\n",
|
||||
"2017-08-30, BUY EXECUTED, Price: 9.72, Cost: 9.72, Comm: 0.00\n",
|
||||
"2017-09-28, SELL CREATE, 9.05\n",
|
||||
"2017-09-29, SELL EXECUTED, Price: 9.08, Cost: 9.72, Comm: 0.00\n",
|
||||
"2017-10-18, BUY CREATE, 9.73\n",
|
||||
"2017-10-19, BUY EXECUTED, Price: 9.68, Cost: 9.68, Comm: 0.00\n",
|
||||
"2017-12-14, SELL CREATE, 10.82\n",
|
||||
"2017-12-15, SELL EXECUTED, Price: 10.73, Cost: 9.68, Comm: 0.00\n",
|
||||
"2018-01-04, BUY CREATE, 11.02\n",
|
||||
"2018-01-05, BUY EXECUTED, Price: 10.99, Cost: 10.99, Comm: 0.00\n",
|
||||
"2018-02-08, SELL CREATE, 10.43\n",
|
||||
"2018-02-09, SELL EXECUTED, Price: 10.05, Cost: 10.99, Comm: 0.00\n",
|
||||
"2018-04-23, BUY CREATE, 9.63\n",
|
||||
"2018-04-24, BUY EXECUTED, Price: 9.68, Cost: 9.68, Comm: 0.00\n",
|
||||
"2018-05-07, SELL CREATE, 8.99\n",
|
||||
"2018-05-08, SELL EXECUTED, Price: 9.01, Cost: 9.68, Comm: 0.00\n",
|
||||
"2018-07-27, BUY CREATE, 7.82\n",
|
||||
"2018-07-30, BUY EXECUTED, Price: 7.88, Cost: 7.88, Comm: 0.00\n",
|
||||
"2018-08-17, SELL CREATE, 7.45\n",
|
||||
"2018-08-20, SELL EXECUTED, Price: 7.52, Cost: 7.88, Comm: 0.00\n",
|
||||
"2018-08-24, BUY CREATE, 8.48\n",
|
||||
"2018-08-27, BUY EXECUTED, Price: 8.47, Cost: 8.47, Comm: 0.00\n",
|
||||
"2018-11-19, SELL CREATE, 9.17\n",
|
||||
"2018-11-20, SELL EXECUTED, Price: 9.09, Cost: 8.47, Comm: 0.00\n",
|
||||
"2019-01-16, BUY CREATE, 8.86\n",
|
||||
"2019-01-17, BUY EXECUTED, Price: 8.91, Cost: 8.91, Comm: 0.00\n",
|
||||
"2019-05-10, SELL CREATE, 10.72\n",
|
||||
"2019-05-13, SELL EXECUTED, Price: 10.42, Cost: 8.91, Comm: 0.00\n",
|
||||
"2019-06-19, BUY CREATE, 11.05\n",
|
||||
"2019-06-20, BUY EXECUTED, Price: 11.14, Cost: 11.14, Comm: 0.00\n",
|
||||
"2019-09-03, SELL CREATE, 12.22\n",
|
||||
"2019-09-04, SELL EXECUTED, Price: 12.23, Cost: 11.14, Comm: 0.00\n",
|
||||
"2019-09-09, BUY CREATE, 12.55\n",
|
||||
"2019-09-10, BUY EXECUTED, Price: 12.47, Cost: 12.47, Comm: 0.00\n",
|
||||
"2019-11-18, SELL CREATE, 14.05\n",
|
||||
"2019-11-19, SELL EXECUTED, Price: 14.05, Cost: 12.47, Comm: 0.00\n",
|
||||
"2019-12-19, BUY CREATE, 14.14\n",
|
||||
"2019-12-20, BUY EXECUTED, Price: 14.14, Cost: 14.14, Comm: 0.00\n",
|
||||
"2020-01-23, SELL CREATE, 13.28\n",
|
||||
"2020-02-03, SELL EXECUTED, Price: 11.95, Cost: 14.14, Comm: 0.00\n",
|
||||
"2020-04-24, BUY CREATE, 11.31\n",
|
||||
"2020-04-27, BUY EXECUTED, Price: 11.36, Cost: 11.36, Comm: 0.00\n",
|
||||
"2020-05-26, SELL CREATE, 11.14\n",
|
||||
"2020-05-27, SELL EXECUTED, Price: 11.15, Cost: 11.36, Comm: 0.00\n",
|
||||
"2020-06-08, BUY CREATE, 11.84\n",
|
||||
"2020-06-09, BUY EXECUTED, Price: 11.85, Cost: 11.85, Comm: 0.00\n",
|
||||
"2020-06-18, SELL CREATE, 11.09\n",
|
||||
"2020-06-19, SELL EXECUTED, Price: 11.06, Cost: 11.85, Comm: 0.00\n",
|
||||
"2020-07-06, BUY CREATE, 13.63\n",
|
||||
"2020-07-07, BUY EXECUTED, Price: 14.17, Cost: 14.17, Comm: 0.00\n",
|
||||
"2020-07-30, SELL CREATE, 11.62\n",
|
||||
"2020-07-31, SELL EXECUTED, Price: 11.54, Cost: 14.17, Comm: 0.00\n",
|
||||
"2020-08-18, BUY CREATE, 13.17\n",
|
||||
"2020-08-19, BUY EXECUTED, Price: 13.13, Cost: 13.13, Comm: 0.00\n",
|
||||
"2020-12-18, SELL CREATE, 15.96\n",
|
||||
"2020-12-21, SELL EXECUTED, Price: 15.90, Cost: 13.13, Comm: 0.00\n",
|
||||
"2021-01-08, BUY CREATE, 17.25\n",
|
||||
"2021-01-11, BUY EXECUTED, Price: 17.38, Cost: 17.38, Comm: 0.01\n",
|
||||
"2021-03-02, SELL CREATE, 18.81\n",
|
||||
"2021-03-03, SELL EXECUTED, Price: 18.75, Cost: 17.38, Comm: 0.01\n",
|
||||
"2021-04-08, BUY CREATE, 18.74\n",
|
||||
"2021-04-09, BUY EXECUTED, Price: 18.87, Cost: 18.87, Comm: 0.01\n",
|
||||
"2021-04-14, SELL CREATE, 17.96\n",
|
||||
"2021-04-15, SELL EXECUTED, Price: 18.04, Cost: 18.87, Comm: 0.01\n",
|
||||
"2021-04-23, BUY CREATE, 20.24\n",
|
||||
"2021-04-26, BUY EXECUTED, Price: 20.75, Cost: 20.75, Comm: 0.01\n",
|
||||
"2021-06-18, SELL CREATE, 19.84\n",
|
||||
"2021-06-21, SELL EXECUTED, Price: 19.79, Cost: 20.75, Comm: 0.01\n",
|
||||
"2021-08-19, BUY CREATE, 17.82\n",
|
||||
"2021-08-20, BUY EXECUTED, Price: 17.49, Cost: 17.49, Comm: 0.01\n",
|
||||
"2021-09-01, SELL CREATE, 15.66\n",
|
||||
"2021-09-02, SELL EXECUTED, Price: 15.76, Cost: 17.49, Comm: 0.00\n",
|
||||
"2021-09-15, BUY CREATE, 17.10\n",
|
||||
"2021-09-16, BUY EXECUTED, Price: 16.91, Cost: 16.91, Comm: 0.01\n",
|
||||
"2021-09-24, SELL CREATE, 15.20\n",
|
||||
"2021-09-27, SELL EXECUTED, Price: 15.07, Cost: 16.91, Comm: 0.00\n",
|
||||
"2021-10-15, BUY CREATE, 17.22\n",
|
||||
"2021-10-18, BUY EXECUTED, Price: 17.04, Cost: 17.04, Comm: 0.01\n",
|
||||
"2021-11-08, SELL CREATE, 15.26\n",
|
||||
"2021-11-09, SELL EXECUTED, Price: 15.31, Cost: 17.04, Comm: 0.00\n",
|
||||
"2021-12-13, BUY CREATE, 16.00\n",
|
||||
"2021-12-14, BUY EXECUTED, Price: 15.91, Cost: 15.91, Comm: 0.00\n",
|
||||
"2021-12-22, SELL CREATE, 15.23\n",
|
||||
"2021-12-23, SELL EXECUTED, Price: 15.24, Cost: 15.91, Comm: 0.00\n",
|
||||
"2022-04-06, BUY CREATE, 14.36\n",
|
||||
"2022-04-07, BUY EXECUTED, Price: 14.35, Cost: 14.35, Comm: 0.00\n",
|
||||
"2022-05-05, SELL CREATE, 13.42\n",
|
||||
"2022-05-06, SELL EXECUTED, Price: 13.15, Cost: 14.35, Comm: 0.00\n",
|
||||
"2022-06-27, BUY CREATE, 12.69\n",
|
||||
"2022-06-28, BUY EXECUTED, Price: 12.68, Cost: 12.68, Comm: 0.00\n",
|
||||
"2022-07-15, SELL CREATE, 11.60\n",
|
||||
"2022-07-18, SELL EXECUTED, Price: 11.60, Cost: 12.68, Comm: 0.00\n",
|
||||
"2022-08-31, BUY CREATE, 11.37\n",
|
||||
"2022-09-01, BUY EXECUTED, Price: 11.28, Cost: 11.28, Comm: 0.00\n",
|
||||
"2022-09-27, SELL CREATE, 10.83\n",
|
||||
"2022-09-28, SELL EXECUTED, Price: 10.78, Cost: 11.28, Comm: 0.00\n",
|
||||
"2022-11-16, BUY CREATE, 10.54\n",
|
||||
"2022-11-17, BUY EXECUTED, Price: 10.53, Cost: 10.53, Comm: 0.00\n",
|
||||
"2023-02-13, SELL CREATE, 12.32\n",
|
||||
"2023-02-14, SELL EXECUTED, Price: 12.35, Cost: 10.53, Comm: 0.00\n",
|
||||
"2023-05-11, BUY CREATE, 11.46\n",
|
||||
"2023-05-12, BUY EXECUTED, Price: 11.43, Cost: 11.43, Comm: 0.00\n",
|
||||
"2023-05-23, SELL CREATE, 10.89\n",
|
||||
"2023-05-24, SELL EXECUTED, Price: 10.88, Cost: 11.43, Comm: 0.00\n",
|
||||
"2023-07-25, BUY CREATE, 10.70\n",
|
||||
"2023-07-26, BUY EXECUTED, Price: 10.64, Cost: 10.64, Comm: 0.00\n",
|
||||
"2023-08-22, SELL CREATE, 10.38\n",
|
||||
"2023-08-23, SELL EXECUTED, Price: 10.37, Cost: 10.64, Comm: 0.00\n",
|
||||
"2024-01-24, BUY CREATE, 8.52\n",
|
||||
"2024-01-25, BUY EXECUTED, Price: 8.52, Cost: 8.52, Comm: 0.00\n",
|
||||
"2024-04-02, SELL CREATE, 9.64\n",
|
||||
"2024-04-03, SELL EXECUTED, Price: 9.62, Cost: 8.52, Comm: 0.00\n",
|
||||
"2024-04-03, BUY CREATE, 9.55\n",
|
||||
"2024-04-08, BUY EXECUTED, Price: 9.52, Cost: 9.52, Comm: 0.00\n",
|
||||
"2024-04-12, SELL CREATE, 9.19\n",
|
||||
"2024-04-15, SELL EXECUTED, Price: 9.20, Cost: 9.52, Comm: 0.00\n",
|
||||
"2024-04-25, BUY CREATE, 9.69\n",
|
||||
"2024-04-26, BUY EXECUTED, Price: 9.67, Cost: 9.67, Comm: 0.00\n",
|
||||
"2024-06-12, SELL CREATE, 9.94\n",
|
||||
"2024-06-13, SELL EXECUTED, Price: 9.95, Cost: 9.67, Comm: 0.00\n",
|
||||
"2024-07-11, BUY CREATE, 9.91\n",
|
||||
"2024-07-12, BUY EXECUTED, Price: 9.90, Cost: 9.90, Comm: 0.00\n",
|
||||
"2024-08-01, SELL CREATE, 10.05\n",
|
||||
"2024-08-02, SELL EXECUTED, Price: 10.00, Cost: 9.90, Comm: 0.00\n",
|
||||
"2024-08-23, BUY CREATE, 10.25\n",
|
||||
"2024-08-26, BUY EXECUTED, Price: 10.28, Cost: 10.28, Comm: 0.00\n",
|
||||
"2024-09-09, SELL CREATE, 9.64\n",
|
||||
"2024-09-10, SELL EXECUTED, Price: 9.65, Cost: 10.28, Comm: 0.00\n",
|
||||
"2024-09-27, BUY CREATE, 11.18\n",
|
||||
"2024-09-30, BUY EXECUTED, Price: 11.37, Cost: 11.37, Comm: 0.00\n",
|
||||
"2024-11-11, SELL CREATE, 11.60\n",
|
||||
"2024-11-12, SELL EXECUTED, Price: 11.58, Cost: 11.37, Comm: 0.00\n",
|
||||
"2024-12-11, BUY CREATE, 11.73\n",
|
||||
"2024-12-12, BUY EXECUTED, Price: 11.73, Cost: 11.73, Comm: 0.00\n",
|
||||
"最终资金: 99999999.28\n",
|
||||
"夏普比率: -397881.8123929003\n",
|
||||
"最大回撤: 1.3845487341405394e-05\n",
|
||||
"--------------- AnnualReturn -----------------\n",
|
||||
"OrderedDict({2011: -9.213936280616508e-10, 2012: 1.915670733154684e-09, 2013: 2.964960210682932e-08, 2014: 2.2974054214586204e-08, 2015: 1.4307666162949317e-10, 2016: 3.4014060457110418e-09, 2017: 1.4808521964226884e-08, 2018: -1.3726451753015567e-08, 2019: 4.0747820229114495e-08, 2020: -3.001912651789951e-08, 2021: -6.445832656520878e-08, 2022: -1.589108589161725e-08, 2023: -2.338556348568943e-09, 2024: 6.482463899004642e-09})\n",
|
||||
"--------------- SharpeRatio -----------------\n",
|
||||
"OrderedDict({'sharperatio': -397881.8123929003})\n",
|
||||
"--------------- DrawDown -----------------\n",
|
||||
"AutoOrderedDict({'len': 946, 'drawdown': 1.1915326811452441e-05, 'moneydown': 11.91532814502716, 'max': AutoOrderedDict({'len': 946, 'drawdown': 1.3845487341405394e-05, 'moneydown': 13.845488891005516})})\n"
|
||||
"最终资金: 99982677.31\n",
|
||||
"夏普比率: -249.45833106775427\n",
|
||||
"最大回撤: 0.03266399519865984\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -710,7 +135,7 @@
|
||||
"<IPython.core.display.HTML object>"
|
||||
],
|
||||
"text/html": [
|
||||
"<div id='1d033553-7ad6-482f-b5ca-faf1fff202dd'></div>"
|
||||
"<div id='8a8873d7-5615-4456-bb60-d011d91f07a9'></div>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -722,12 +147,12 @@
|
||||
"[[<Figure size 640x480 with 4 Axes>]]"
|
||||
]
|
||||
},
|
||||
"execution_count": 41,
|
||||
"execution_count": 45,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"execution_count": 41
|
||||
"execution_count": 45
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
|
||||
Reference in New Issue
Block a user