<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<title>Wheel Strategy Backtest</title>
<style>
body { font-family: Arial, sans-serif; margin: 24px; }
table { border-collapse: collapse; width: 100%; font-size: 14px; }
th, td { border: 1px solid #ccc; padding: 6px 8px; text-align: center; }
th { background: #f2f2f2; }
</style>
</head>
<body>
<h1>Wheel Strategy Backtest</h1>
<ul>
<li>Underlying: 159915.SZ</li>
<li>Backtest window: 20230101 -> 20251203</li>
<li>Trades executed: 36</li>
<li>Ending value: -1,635.00</li>
<li>Return on margin: -5.45%</li>
<li>Annualized return: n/a</li>
</ul>
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th>month</th>
<th>type</th>
<th>ts_code</th>
<th>trade_date</th>
<th>maturity</th>
<th>strike</th>
<th>spot</th>
<th>otm_pct(%)</th>
<th>premium</th>
<th>expiry_price</th>
<th>assigned</th>
<th>cash_balance</th>
<th>holding_value</th>
<th>portfolio_value</th>
<th>implied_vol(%)</th>
</tr>
</thead>
<tbody>
<tr>
<td>202301</td>
<td>PUT</td>
<td>90001546.SZ</td>
<td>20230103</td>
<td>20230130</td>
<td>2.15</td>
<td>2.289</td>
<td>6.07</td>
<td>56.0</td>
<td>2.533</td>
<td>False</td>
<td>56.0</td>
<td>0.0</td>
<td>56.0</td>
<td>18.81</td>
</tr>
<tr>
<td>202302</td>
<td>PUT</td>
<td>90001711.SZ</td>
<td>20230201</td>
<td>20230222</td>
<td>2.40</td>
<td>2.537</td>
<td>5.40</td>
<td>95.0</td>
<td>2.377</td>
<td>True</td>
<td>-23849.0</td>
<td>23770.0</td>
<td>-79.0</td>
<td>22.10</td>
</tr>
<tr>
<td>202303</td>
<td>CALL</td>
<td>90001281.SZ</td>
<td>20230301</td>
<td>20230322</td>
<td>2.50</td>
<td>2.372</td>
<td>5.40</td>
<td>110.0</td>
<td>2.270</td>
<td>False</td>
<td>-23739.0</td>
<td>22700.0</td>
<td>-1039.0</td>
<td>21.86</td>
</tr>
<tr>
<td>202304</td>
<td>CALL</td>
<td>90001931.SZ</td>
<td>20230403</td>
<td>20230426</td>
<td>2.50</td>
<td>2.366</td>
<td>5.66</td>
<td>71.0</td>
<td>2.226</td>
<td>False</td>
<td>-23668.0</td>
<td>22260.0</td>
<td>-1408.0</td>
<td>18.69</td>
</tr>
<tr>
<td>202305</td>
<td>CALL</td>
<td>90002035.SZ</td>
<td>20230504</td>
<td>20230524</td>
<td>2.35</td>
<td>2.230</td>
<td>5.38</td>
<td>69.0</td>
<td>2.183</td>
<td>False</td>
<td>-23599.0</td>
<td>21830.0</td>
<td>-1769.0</td>
<td>19.54</td>
</tr>
<tr>
<td>202306</td>
<td>CALL</td>
<td>90001457.SZ</td>
<td>20230601</td>
<td>20230628</td>
<td>2.30</td>
<td>2.148</td>
<td>7.08</td>
<td>64.0</td>
<td>2.126</td>
<td>False</td>
<td>-23535.0</td>
<td>21260.0</td>
<td>-2275.0</td>
<td>20.03</td>
</tr>
<tr>
<td>202307</td>
<td>CALL</td>
<td>90002217.SZ</td>
<td>20230703</td>
<td>20230726</td>
<td>2.30</td>
<td>2.171</td>
<td>5.94</td>
<td>68.0</td>
<td>2.135</td>
<td>False</td>
<td>-23467.0</td>
<td>21350.0</td>
<td>-2117.0</td>
<td>19.54</td>
</tr>
<tr>
<td>202308</td>
<td>CALL</td>
<td>90002346.SZ</td>
<td>20230801</td>
<td>20230823</td>
<td>2.30</td>
<td>2.168</td>
<td>6.09</td>
<td>74.0</td>
<td>1.987</td>
<td>False</td>
<td>-23393.0</td>
<td>19870.0</td>
<td>-3523.0</td>
<td>20.88</td>
</tr>
<tr>
<td>202309</td>
<td>CALL</td>
<td>90001903.SZ</td>
<td>20230901</td>
<td>20230927</td>
<td>2.20</td>
<td>2.049</td>
<td>7.37</td>
<td>82.0</td>
<td>1.956</td>
<td>False</td>
<td>-23311.0</td>
<td>19560.0</td>
<td>-3751.0</td>
<td>22.96</td>
</tr>
<tr>
<td>202310</td>
<td>CALL</td>
<td>90002542.SZ</td>
<td>20231009</td>
<td>20231025</td>
<td>2.05</td>
<td>1.947</td>
<td>5.29</td>
<td>54.0</td>
<td>1.815</td>
<td>False</td>
<td>-23257.0</td>
<td>18150.0</td>
<td>-5107.0</td>
<td>21.01</td>
</tr>
<tr>
<td>202311</td>
<td>CALL</td>
<td>90002677.SZ</td>
<td>20231101</td>
<td>20231122</td>
<td>2.05</td>
<td>1.908</td>
<td>7.44</td>
<td>31.0</td>
<td>1.899</td>
<td>False</td>
<td>-23226.0</td>
<td>18990.0</td>
<td>-4236.0</td>
<td>20.27</td>
</tr>
<tr>
<td>202312</td>
<td>CALL</td>
<td>90002183.SZ</td>
<td>20231201</td>
<td>20231227</td>
<td>2.00</td>
<td>1.881</td>
<td>6.33</td>
<td>68.0</td>
<td>1.763</td>
<td>False</td>
<td>-23158.0</td>
<td>17630.0</td>
<td>-5528.0</td>
<td>20.03</td>
</tr>
<tr>
<td>202401</td>
<td>CALL</td>
<td>90002913.SZ</td>
<td>20240102</td>
<td>20240124</td>
<td>1.90</td>
<td>1.806</td>
<td>5.20</td>
<td>103.0</td>
<td>1.650</td>
<td>False</td>
<td>-23055.0</td>
<td>16500.0</td>
<td>-6555.0</td>
<td>22.47</td>
</tr>
<tr>
<td>202402</td>
<td>CALL</td>
<td>90003037.SZ</td>
<td>20240201</td>
<td>20240228</td>
<td>1.65</td>
<td>1.548</td>
<td>6.59</td>
<td>157.0</td>
<td>1.701</td>
<td>True</td>
<td>-6398.0</td>
<td>0.0</td>
<td>-6398.0</td>
<td>29.31</td>
</tr>
<tr>
<td>202403</td>
<td>PUT</td>
<td>90002762.SZ</td>
<td>20240301</td>
<td>20240327</td>
<td>1.65</td>
<td>1.775</td>
<td>7.04</td>
<td>151.0</td>
<td>1.742</td>
<td>False</td>
<td>-6247.0</td>
<td>0.0</td>
<td>-6247.0</td>
<td>31.75</td>
</tr>
<tr>
<td>202404</td>
<td>PUT</td>
<td>90003350.SZ</td>
<td>20240401</td>
<td>20240424</td>
<td>1.70</td>
<td>1.822</td>
<td>6.70</td>
<td>71.0</td>
<td>1.719</td>
<td>False</td>
<td>-6176.0</td>
<td>0.0</td>
<td>-6176.0</td>
<td>24.91</td>
</tr>
<tr>
<td>202405</td>
<td>PUT</td>
<td>90003458.SZ</td>
<td>20240506</td>
<td>20240522</td>
<td>1.75</td>
<td>1.853</td>
<td>5.56</td>
<td>61.0</td>
<td>1.839</td>
<td>False</td>
<td>-6115.0</td>
<td>0.0</td>
<td>-6115.0</td>
<td>24.67</td>
</tr>
<tr>
<td>202406</td>
<td>PUT</td>
<td>90002823.SZ</td>
<td>20240603</td>
<td>20240626</td>
<td>1.65</td>
<td>1.782</td>
<td>7.41</td>
<td>29.0</td>
<td>1.699</td>
<td>False</td>
<td>-6086.0</td>
<td>0.0</td>
<td>-6086.0</td>
<td>21.25</td>
</tr>
<tr>
<td>202407</td>
<td>PUT</td>
<td>90003694.SZ</td>
<td>20240701</td>
<td>20240724</td>
<td>1.55</td>
<td>1.650</td>
<td>6.06</td>
<td>59.0</td>
<td>1.619</td>
<td>False</td>
<td>-6027.0</td>
<td>0.0</td>
<td>-6027.0</td>
<td>22.47</td>
</tr>
<tr>
<td>202408</td>
<td>PUT</td>
<td>90003743.SZ</td>
<td>20240801</td>
<td>20240828</td>
<td>1.55</td>
<td>1.636</td>
<td>5.26</td>
<td>76.0</td>
<td>1.501</td>
<td>True</td>
<td>-21451.0</td>
<td>15010.0</td>
<td>-6441.0</td>
<td>20.64</td>
</tr>
<tr>
<td>202409</td>
<td>CALL</td>
<td>90003196.SZ</td>
<td>20240902</td>
<td>20240925</td>
<td>1.60</td>
<td>1.507</td>
<td>6.17</td>
<td>57.0</td>
<td>1.610</td>
<td>True</td>
<td>-5394.0</td>
<td>0.0</td>
<td>-5394.0</td>
<td>21.25</td>
</tr>
<tr>
<td>202410</td>
<td>PUT</td>
<td>90004374.SZ</td>
<td>20241008</td>
<td>20241023</td>
<td>2.45</td>
<td>2.678</td>
<td>8.51</td>
<td>2098.0</td>
<td>2.162</td>
<td>True</td>
<td>-27796.0</td>
<td>21620.0</td>
<td>-6176.0</td>
<td>150.89</td>
</tr>
<tr>
<td>202411</td>
<td>CALL</td>
<td>90004377.SZ</td>
<td>20241101</td>
<td>20241127</td>
<td>2.20</td>
<td>2.084</td>
<td>5.57</td>
<td>723.0</td>
<td>2.165</td>
<td>False</td>
<td>-27073.0</td>
<td>21650.0</td>
<td>-5423.0</td>
<td>52.87</td>
</tr>
<tr>
<td>202412</td>
<td>CALL</td>
<td>90004396.SZ</td>
<td>20241202</td>
<td>20241225</td>
<td>2.35</td>
<td>2.211</td>
<td>6.29</td>
<td>353.0</td>
<td>2.156</td>
<td>False</td>
<td>-26720.0</td>
<td>21560.0</td>
<td>-5160.0</td>
<td>38.10</td>
</tr>
<tr>
<td>202501</td>
<td>CALL</td>
<td>90004733.SZ</td>
<td>20250102</td>
<td>20250122</td>
<td>2.15</td>
<td>2.019</td>
<td>6.49</td>
<td>231.0</td>
<td>2.059</td>
<td>False</td>
<td>-26489.0</td>
<td>20590.0</td>
<td>-5899.0</td>
<td>35.65</td>
</tr>
<tr>
<td>202502</td>
<td>CALL</td>
<td>90004905.SZ</td>
<td>20250205</td>
<td>20250226</td>
<td>2.15</td>
<td>2.024</td>
<td>6.23</td>
<td>149.0</td>
<td>2.223</td>
<td>True</td>
<td>-4840.0</td>
<td>0.0</td>
<td>-4840.0</td>
<td>28.33</td>
</tr>
<tr>
<td>202503</td>
<td>PUT</td>
<td>90004273.SZ</td>
<td>20250303</td>
<td>20250326</td>
<td>2.00</td>
<td>2.154</td>
<td>7.15</td>
<td>110.0</td>
<td>2.098</td>
<td>False</td>
<td>-4730.0</td>
<td>0.0</td>
<td>-4730.0</td>
<td>28.33</td>
</tr>
<tr>
<td>202504</td>
<td>PUT</td>
<td>90005222.SZ</td>
<td>20250401</td>
<td>20250423</td>
<td>1.95</td>
<td>2.062</td>
<td>5.43</td>
<td>77.0</td>
<td>1.919</td>
<td>True</td>
<td>-24153.0</td>
<td>19190.0</td>
<td>-4963.0</td>
<td>21.74</td>
</tr>
<tr>
<td>202505</td>
<td>CALL</td>
<td>90005257.SZ</td>
<td>20250506</td>
<td>20250528</td>
<td>2.10</td>
<td>1.958</td>
<td>7.25</td>
<td>50.0</td>
<td>1.959</td>
<td>False</td>
<td>-24103.0</td>
<td>19590.0</td>
<td>-4513.0</td>
<td>21.74</td>
</tr>
<tr>
<td>202506</td>
<td>CALL</td>
<td>90004620.SZ</td>
<td>20250603</td>
<td>20250625</td>
<td>2.10</td>
<td>1.977</td>
<td>6.22</td>
<td>57.0</td>
<td>2.109</td>
<td>True</td>
<td>-3046.0</td>
<td>0.0</td>
<td>-3046.0</td>
<td>20.15</td>
</tr>
<tr>
<td>202507</td>
<td>PUT</td>
<td>90005641.SZ</td>
<td>20250701</td>
<td>20250723</td>
<td>2.00</td>
<td>2.126</td>
<td>5.93</td>
<td>80.0</td>
<td>2.287</td>
<td>False</td>
<td>-2966.0</td>
<td>0.0</td>
<td>-2966.0</td>
<td>23.08</td>
</tr>
<tr>
<td>202508</td>
<td>PUT</td>
<td>90005727.SZ</td>
<td>20250801</td>
<td>20250827</td>
<td>2.15</td>
<td>2.303</td>
<td>6.64</td>
<td>103.0</td>
<td>2.696</td>
<td>False</td>
<td>-2863.0</td>
<td>0.0</td>
<td>-2863.0</td>
<td>24.30</td>
</tr>
<tr>
<td>202509</td>
<td>PUT</td>
<td>90006025.SZ</td>
<td>20250901</td>
<td>20250924</td>
<td>2.75</td>
<td>2.927</td>
<td>6.05</td>
<td>422.0</td>
<td>3.160</td>
<td>False</td>
<td>-2441.0</td>
<td>0.0</td>
<td>-2441.0</td>
<td>38.58</td>
</tr>
<tr>
<td>202510</td>
<td>PUT</td>
<td>90006202.SZ</td>
<td>20251009</td>
<td>20251022</td>
<td>3.00</td>
<td>3.235</td>
<td>7.26</td>
<td>136.0</td>
<td>3.039</td>
<td>False</td>
<td>-2305.0</td>
<td>0.0</td>
<td>-2305.0</td>
<td>35.65</td>
</tr>
<tr>
<td>202511</td>
<td>PUT</td>
<td>90006330.SZ</td>
<td>20251103</td>
<td>20251126</td>
<td>3.00</td>
<td>3.176</td>
<td>5.54</td>
<td>379.0</td>
<td>3.027</td>
<td>False</td>
<td>-1926.0</td>
<td>0.0</td>
<td>-1926.0</td>
<td>33.70</td>
</tr>
<tr>
<td>202512</td>
<td>PUT</td>
<td>90006101.SZ</td>
<td>20251201</td>
<td>20251224</td>
<td>2.90</td>
<td>3.073</td>
<td>5.63</td>
<td>291.0</td>
<td>3.019</td>
<td>False</td>
<td>-1635.0</td>
<td>0.0</td>
<td>-1635.0</td>
<td>30.65</td>
</tr>
</tbody>
</table>
</body>
</html>