资金紧张策略代码


每个月倒数第五个交易日收盘做空,倒数第三个交易日收盘做多,持有到月初第一个交易日收盘。

from jqdata import *
from datetime import datetime,timedelta
import pandas as pd
import warnings
warnings.filterwarnings('ignore')
pd.set_option('display.width', 1000)           # 设置字符显示宽度
pd.set_option('display.max_rows', None)        # 设置显示最大行
pd.set_option('display.max_columns', None)     # 设置显示最大列
start_date = '2010-01-01'
end_date = datetime.now().strftime("%Y-%m-%d")
start_date,end_date
('2010-01-01', '2023-04-08')
date_list = get_trade_days(start_date,end_date)
date_list_str = list(map(lambda x:x.strftime("%Y-%m-%d"),date_list))

参数设置

index = '000300.XSHG'
short_start = 6 # 月倒数第六个交易日
long_start = 2 # 月倒数第二个交易日
long_end = 1 # 月第二个交易日

securities = get_all_securities(types=['index'])
display_name = securities.loc[index].display_name         
index_df = get_price(index,start_date = start_date, end_date = end_date, fields=['close'], panel=False)
index_df['date'] = index_df.index
index_df['year_month'] = index_df['date'].apply(lambda x:x.strftime("%Y-%m"))
index_df['year'] = index_df['date'].apply(lambda x:x.strftime("%Y"))
index_df['month'] = index_df['date'].apply(lambda x:x.strftime("%m"))
index_df['date'] = index_df['date'].apply(lambda x:x.strftime("%Y-%m-%d"))
index_df = index_df.dropna(subset=['close'])
index_df.index = index_df['date']
month_last5_trade_days = index_df.groupby('year_month')['date'].apply(lambda x:x.iloc[-short_start] if len(x)>=short_start else np.nan)
month_last3_trade_days = index_df.groupby('year_month')['date'].apply(lambda x:x.iloc[-long_start] if len(x)>=long_start else np.nan)
month_first_trade_days = index_df.groupby('year_month')['date'].apply(lambda x:x.iloc[long_end] if len(x)>=long_end else np.nan)

month_last3_trade_days = month_last3_trade_days.drop(index=end_date[:7])
month_last5_trade_days = month_last5_trade_days.drop(index=end_date[:7])
index_df['short_trade'] = np.nan
index_df['long_trade'] = np.nan
index_df.loc[month_last5_trade_days,'short_trade'] = -1
index_df.loc[month_last3_trade_days,'short_trade'] = 0
index_df.loc[month_last3_trade_days,'long_trade'] = 1
index_df.loc[month_first_trade_days,'long_trade'] = 0
short_trade_df = index_df.dropna(subset=['short_trade'])
long_trade_df = index_df.dropna(subset=['long_trade'])
short_trade_df['start_date'] = short_trade_df['date']
short_trade_df['end_date'] = short_trade_df['date'].shift(-1)
short_trade_df['open_price'] = short_trade_df['close']
short_trade_df['close_price'] = short_trade_df['close'].shift(-1)
short_trade_df['direction'] = short_trade_df['short_trade']
short_trade_df['diff'] = short_trade_df['close_price'] - short_trade_df['open_price']
short_trade_df['points'] = short_trade_df['diff'] * short_trade_df['short_trade'] 
short_trade_df = short_trade_df[short_trade_df['direction']!=0]
long_trade_df['start_date'] = long_trade_df['date']
long_trade_df['end_date'] = long_trade_df['date'].shift(-1)
long_trade_df['open_price'] = long_trade_df['close']
long_trade_df['close_price'] = long_trade_df['close'].shift(-1)
long_trade_df['direction'] = long_trade_df['long_trade']
long_trade_df['diff'] = long_trade_df['close_price'] - long_trade_df['open_price']
long_trade_df['points'] = long_trade_df['diff'] * long_trade_df['long_trade'] 
long_trade_df = long_trade_df[long_trade_df['direction']!=0]
short_trade_df = short_trade_df[['year','month','start_date','end_date','open_price','close_price','direction','diff','points']]
long_trade_df = long_trade_df[['year','month','start_date','end_date','open_price','close_price','direction','diff','points']]

盈亏情况

short_profit = short_trade_df['points'].sum()
tmp1 = short_trade_df[short_trade_df['points']>0]
tmp2 = short_trade_df[short_trade_df['points']<0]
short_win_ratio = len(tmp1)/len(short_trade_df)
short_win_lose = abs(tmp1['points'].mean()/tmp2['points'].mean())
short_win = (tmp1['points']/tmp1['close_price']).mean()
short_lose = abs(tmp2['points']/tmp2['close_price']).mean()
long_profit = long_trade_df['points'].sum()
tmp1 = long_trade_df[long_trade_df['points']>0]
tmp2 = long_trade_df[long_trade_df['points']<0]
long_win_ratio = len(tmp1)/len(long_trade_df)
long_win_lose = abs(tmp1['points'].mean()/tmp2['points'].mean())
long_win = (tmp1['points']/tmp1['close_price']).mean()
long_lose = abs(tmp2['points']/tmp2['close_price']).mean()
data = [
    [short_profit,short_win_ratio,short_win_lose,short_win,short_lose],
    [long_profit,long_win_ratio,long_win_lose,long_win,long_lose]
]
indexs = ['做空','做多']
cols = ['盈亏点数','胜率','盈亏比','盈赔率','亏赔率']

统计结果

show_df = pd.DataFrame(data,index=indexs,columns=cols)
show_df

盈亏点数 胜率 盈亏比 盈赔率 亏赔率
做空 2648.46 0.522013 1.450977 0.025715 0.017370
做多 3652.84 0.610063 1.283050 0.021319 0.016539

交易表

做空

short_trade_df

year month start_date end_date open_price close_price direction diff points
date
2010-01-22 2010 01 2010-01-22 2010-01-28 3366.20 3206.57 -1.0 -159.63 159.63
2010-02-12 2010 02 2010-02-12 2010-02-25 3251.28 3292.13 -1.0 40.85 -40.85
2010-03-24 2010 03 2010-03-24 2010-03-30 3276.67 3366.71 -1.0 90.04 -90.04
2010-04-23 2010 04 2010-04-23 2010-04-29 3190.00 3060.06 -1.0 -129.94 129.94
2010-05-24 2010 05 2010-05-24 2010-05-28 2873.47 2850.30 -1.0 -23.17 23.17
2010-06-23 2010 06 2010-06-23 2010-06-29 2758.49 2592.02 -1.0 -166.47 166.47
2010-07-23 2010 07 2010-07-23 2010-07-29 2793.08 2877.98 -1.0 84.90 -84.90
2010-08-24 2010 08 2010-08-24 2010-08-30 2911.83 2915.01 -1.0 3.18 -3.18
2010-09-20 2010 09 2010-09-20 2010-09-29 2849.83 2874.81 -1.0 24.98 -24.98
2010-10-22 2010 10 2010-10-22 2010-10-28 3378.66 3397.69 -1.0 19.03 -19.03
2010-11-23 2010 11 2010-11-23 2010-11-29 3107.18 3190.05 -1.0 82.87 -82.87
2010-12-24 2010 12 2010-12-24 2010-12-30 3162.95 3064.10 -1.0 -98.85 98.85
2011-01-24 2011 01 2011-01-24 2011-01-28 2954.23 3036.74 -1.0 82.51 -82.51
2011-02-21 2011 02 2011-02-21 2011-02-25 3257.91 3197.62 -1.0 -60.29 60.29
2011-03-24 2011 03 2011-03-24 2011-03-30 3251.36 3256.08 -1.0 4.72 -4.72
2011-04-22 2011 04 2011-04-22 2011-04-28 3299.94 3161.78 -1.0 -138.16 138.16
2011-05-24 2011 05 2011-05-24 2011-05-30 3026.22 2954.51 -1.0 -71.71 71.71
2011-06-23 2011 06 2011-06-23 2011-06-29 2957.63 3000.17 -1.0 42.54 -42.54
2011-07-22 2011 07 2011-07-22 2011-07-28 3067.99 2981.00 -1.0 -86.99 86.99
2011-08-24 2011 08 2011-08-24 2011-08-30 2810.02 2841.74 -1.0 31.72 -31.72
2011-09-23 2011 09 2011-09-23 2011-09-29 2669.48 2588.18 -1.0 -81.30 81.30
2011-10-24 2011 10 2011-10-24 2011-10-28 2576.67 2709.02 -1.0 132.35 -132.35
2011-11-23 2011 11 2011-11-23 2011-11-29 2584.01 2608.57 -1.0 24.56 -24.56
2011-12-23 2011 12 2011-12-23 2011-12-29 2359.16 2311.36 -1.0 -47.80 47.80
2012-01-17 2012 01 2012-01-17 2012-01-30 2460.60 2460.72 -1.0 0.12 -0.12
2012-02-22 2012 02 2012-02-22 2012-02-28 2597.48 2662.46 -1.0 64.98 -64.98
2012-03-23 2012 03 2012-03-23 2012-03-29 2552.94 2443.12 -1.0 -109.82 109.82
2012-04-20 2012 04 2012-04-20 2012-04-26 2626.84 2631.49 -1.0 4.65 -4.65
2012-05-24 2012 05 2012-05-24 2012-05-30 2595.26 2642.26 -1.0 47.00 -47.00
2012-06-21 2012 06 2012-06-21 2012-06-28 2512.18 2425.73 -1.0 -86.45 86.45
2012-07-24 2012 07 2012-07-24 2012-07-30 2375.99 2335.79 -1.0 -40.20 40.20
2012-08-24 2012 08 2012-08-24 2012-08-30 2275.68 2211.37 -1.0 -64.31 64.31
2012-09-21 2012 09 2012-09-21 2012-09-27 2199.06 2251.72 -1.0 52.66 -52.66
2012-10-24 2012 10 2012-10-24 2012-10-30 2307.78 2239.88 -1.0 -67.90 67.90
2012-11-23 2012 11 2012-11-23 2012-11-29 2192.68 2115.68 -1.0 -77.00 77.00
2012-12-24 2012 12 2012-12-24 2012-12-28 2381.22 2480.05 -1.0 98.83 -98.83
2013-01-24 2013 01 2013-01-24 2013-01-30 2582.76 2688.71 -1.0 105.95 -105.95
2013-02-21 2013 02 2013-02-21 2013-02-27 2610.55 2594.68 -1.0 -15.87 15.87
2013-03-22 2013 03 2013-03-22 2013-03-28 2618.31 2499.30 -1.0 -119.01 119.01
2013-04-19 2013 04 2013-04-19 2013-04-25 2533.83 2467.88 -1.0 -65.95 65.95
2013-05-24 2013 05 2013-05-24 2013-05-30 2597.23 2634.32 -1.0 37.09 -37.09
2013-06-21 2013 06 2013-06-21 2013-06-27 2317.39 2160.74 -1.0 -156.65 156.65
2013-07-24 2013 07 2013-07-24 2013-07-30 2249.15 2189.39 -1.0 -59.76 59.76
2013-08-23 2013 08 2013-08-23 2013-08-29 2286.93 2318.31 -1.0 31.38 -31.38
2013-09-23 2013 09 2013-09-23 2013-09-27 2472.29 2394.97 -1.0 -77.32 77.32
2013-10-24 2013 10 2013-10-24 2013-10-30 2400.51 2407.47 -1.0 6.96 -6.96
2013-11-22 2013 11 2013-11-22 2013-11-28 2397.96 2439.53 -1.0 41.57 -41.57
2013-12-24 2013 12 2013-12-24 2013-12-30 2288.25 2299.46 -1.0 11.21 -11.21
2014-01-23 2014 01 2014-01-23 2014-01-29 2231.89 2227.78 -1.0 -4.11 4.11
2014-02-21 2014 02 2014-02-21 2014-02-27 2264.29 2154.11 -1.0 -110.18 110.18
2014-03-24 2014 03 2014-03-24 2014-03-28 2176.55 2151.97 -1.0 -24.58 24.58
2014-04-23 2014 04 2014-04-23 2014-04-29 2194.67 2158.47 -1.0 -36.20 36.20
2014-05-23 2014 05 2014-05-23 2014-05-29 2148.41 2155.16 -1.0 6.75 -6.75
2014-06-23 2014 06 2014-06-23 2014-06-27 2134.11 2150.26 -1.0 16.15 -16.15
2014-07-24 2014 07 2014-07-24 2014-07-30 2237.01 2322.01 -1.0 85.00 -85.00
2014-08-22 2014 08 2014-08-22 2014-08-28 2365.36 2311.28 -1.0 -54.08 54.08
2014-09-23 2014 09 2014-09-23 2014-09-29 2399.46 2447.80 -1.0 48.34 -48.34
2014-10-24 2014 10 2014-10-24 2014-10-30 2390.71 2468.93 -1.0 78.22 -78.22
2014-11-21 2014 11 2014-11-21 2014-11-27 2583.45 2754.49 -1.0 171.04 -171.04
2014-12-24 2014 12 2014-12-24 2014-12-30 3230.39 3457.55 -1.0 227.16 -227.16
2015-01-23 2015 01 2015-01-23 2015-01-29 3571.73 3481.80 -1.0 -89.93 89.93
2015-02-13 2015 02 2015-02-13 2015-02-26 3469.83 3566.30 -1.0 96.47 -96.47
2015-03-24 2015 03 2015-03-24 2015-03-30 3973.05 4088.18 -1.0 115.13 -115.13
2015-04-23 2015 04 2015-04-23 2015-04-29 4740.89 4774.33 -1.0 33.44 -33.44
2015-05-22 2015 05 2015-05-22 2015-05-28 4951.34 4834.01 -1.0 -117.33 117.33
2015-06-23 2015 06 2015-06-23 2015-06-29 4786.09 4191.55 -1.0 -594.54 594.54
2015-07-24 2015 07 2015-07-24 2015-07-30 4176.28 3815.41 -1.0 -360.87 360.87
2015-08-24 2015 08 2015-08-24 2015-08-28 3275.53 3342.29 -1.0 66.76 -66.76
2015-09-23 2015 09 2015-09-23 2015-09-29 3263.03 3178.85 -1.0 -84.18 84.18
2015-10-23 2015 10 2015-10-23 2015-10-29 3571.24 3533.31 -1.0 -37.93 37.93
2015-11-23 2015 11 2015-11-23 2015-11-27 3753.34 3556.99 -1.0 -196.35 196.35
2015-12-24 2015 12 2015-12-24 2015-12-30 3829.40 3765.18 -1.0 -64.22 64.22
2016-01-22 2016 01 2016-01-22 2016-01-28 3113.46 2853.76 -1.0 -259.70 259.70
2016-02-22 2016 02 2016-02-22 2016-02-26 3118.87 2948.03 -1.0 -170.84 170.84
2016-03-24 2016 03 2016-03-24 2016-03-30 3181.85 3216.28 -1.0 34.43 -34.43
2016-04-22 2016 04 2016-04-22 2016-04-28 3174.90 3160.58 -1.0 -14.32 14.32
2016-05-24 2016 05 2016-05-24 2016-05-30 3063.56 3066.71 -1.0 3.15 -3.15
2016-06-23 2016 06 2016-06-23 2016-06-29 3117.32 3151.39 -1.0 34.07 -34.07
2016-07-22 2016 07 2016-07-22 2016-07-28 3225.16 3221.14 -1.0 -4.02 4.02
2016-08-24 2016 08 2016-08-24 2016-08-30 3329.86 3311.99 -1.0 -17.87 17.87
2016-09-23 2016 09 2016-09-23 2016-09-29 3275.67 3244.39 -1.0 -31.28 31.28
2016-10-24 2016 10 2016-10-24 2016-10-28 3367.58 3340.13 -1.0 -27.45 27.45
2016-11-23 2016 11 2016-11-23 2016-11-29 3474.73 3564.04 -1.0 89.31 -89.31
2016-12-23 2016 12 2016-12-23 2016-12-29 3307.60 3297.76 -1.0 -9.84 9.84
2017-01-19 2017 01 2017-01-19 2017-01-25 3329.29 3375.90 -1.0 46.61 -46.61
2017-02-21 2017 02 2017-02-21 2017-02-27 3482.82 3446.22 -1.0 -36.60 36.60
2017-03-24 2017 03 2017-03-24 2017-03-30 3489.60 3436.76 -1.0 -52.84 52.84
2017-04-21 2017 04 2017-04-21 2017-04-27 3466.79 3446.72 -1.0 -20.07 20.07
2017-05-22 2017 05 2017-05-22 2017-05-26 3411.24 3480.43 -1.0 69.19 -69.19
2017-06-23 2017 06 2017-06-23 2017-06-29 3622.88 3668.83 -1.0 45.95 -45.95
2017-07-24 2017 07 2017-07-24 2017-07-28 3743.47 3721.89 -1.0 -21.58 21.58
2017-08-24 2017 08 2017-08-24 2017-08-30 3734.65 3834.30 -1.0 99.65 -99.65
2017-09-22 2017 09 2017-09-22 2017-09-28 3837.73 3822.54 -1.0 -15.19 15.19
2017-10-24 2017 10 2017-10-24 2017-10-30 3959.40 4009.72 -1.0 50.32 -50.32
2017-11-23 2017 11 2017-11-23 2017-11-29 4102.40 4053.75 -1.0 -48.65 48.65
2017-12-22 2017 12 2017-12-22 2017-12-28 4054.60 4018.90 -1.0 -35.70 35.70
2018-01-24 2018 01 2018-01-24 2018-01-30 4389.89 4256.10 -1.0 -133.79 133.79
2018-02-14 2018 02 2018-02-14 2018-02-27 3966.96 4058.98 -1.0 92.02 -92.02
2018-03-23 2018 03 2018-03-23 2018-03-29 3904.94 3894.05 -1.0 -10.89 10.89
2018-04-20 2018 04 2018-04-20 2018-04-26 3760.85 3755.49 -1.0 -5.36 5.36
2018-05-24 2018 05 2018-05-24 2018-05-30 3827.22 3723.37 -1.0 -103.85 103.85
2018-06-22 2018 06 2018-06-22 2018-06-28 3608.90 3423.53 -1.0 -185.37 185.37
2018-07-24 2018 07 2018-07-24 2018-07-30 3581.71 3515.08 -1.0 -66.63 66.63
2018-08-24 2018 08 2018-08-24 2018-08-30 3325.33 3351.09 -1.0 25.76 -25.76
2018-09-20 2018 09 2018-09-20 2018-09-27 3310.13 3403.59 -1.0 93.46 -93.46
2018-10-24 2018 10 2018-10-24 2018-10-30 3188.20 3110.26 -1.0 -77.94 77.94
2018-11-23 2018 11 2018-11-23 2018-11-29 3143.48 3137.65 -1.0 -5.83 5.83
2018-12-21 2018 12 2018-12-21 2018-12-27 3029.40 2990.51 -1.0 -38.89 38.89
2019-01-24 2019 01 2019-01-24 2019-01-30 3158.78 3168.48 -1.0 9.70 -9.70
2019-02-21 2019 02 2019-02-21 2019-02-27 3442.71 3678.39 -1.0 235.68 -235.68
2019-03-22 2019 03 2019-03-22 2019-03-28 3833.80 3728.40 -1.0 -105.40 105.40
2019-04-23 2019 04 2019-04-23 2019-04-29 4019.01 3900.33 -1.0 -118.68 118.68
2019-05-24 2019 05 2019-05-24 2019-05-30 3593.91 3641.18 -1.0 47.27 -47.27
2019-06-21 2019 06 2019-06-21 2019-06-27 3833.94 3834.82 -1.0 0.88 -0.88
2019-07-24 2019 07 2019-07-24 2019-07-30 3819.83 3870.32 -1.0 50.49 -50.49
2019-08-23 2019 08 2019-08-23 2019-08-29 3820.86 3790.19 -1.0 -30.67 30.67
2019-09-23 2019 09 2019-09-23 2019-09-27 3890.66 3852.65 -1.0 -38.01 38.01
2019-10-24 2019 10 2019-10-24 2019-10-30 3870.67 3891.23 -1.0 20.56 -20.56
2019-11-22 2019 11 2019-11-22 2019-11-28 3849.99 3862.30 -1.0 12.31 -12.31
2019-12-24 2019 12 2019-12-24 2019-12-30 3992.96 4081.63 -1.0 88.67 -88.67
2020-01-16 2020 01 2020-01-16 2020-01-22 4149.04 4131.93 -1.0 -17.11 17.11
2020-02-21 2020 02 2020-02-21 2020-02-27 4149.49 4084.88 -1.0 -64.61 64.61
2020-03-24 2020 03 2020-03-24 2020-03-30 3625.11 3674.11 -1.0 49.00 -49.00
2020-04-23 2020 04 2020-04-23 2020-04-29 3829.75 3867.03 -1.0 37.28 -37.28
2020-05-22 2020 05 2020-05-22 2020-05-28 3824.06 3856.63 -1.0 32.57 -32.57
2020-06-19 2020 06 2020-06-19 2020-06-29 4098.71 4109.72 -1.0 11.01 -11.01
2020-07-24 2020 07 2020-07-24 2020-07-30 4505.59 4656.15 -1.0 150.56 -150.56
2020-08-24 2020 08 2020-08-24 2020-08-28 4755.85 4844.27 -1.0 88.42 -88.42
2020-09-23 2020 09 2020-09-23 2020-09-29 4652.33 4591.80 -1.0 -60.53 60.53
2020-10-23 2020 10 2020-10-23 2020-10-29 4718.49 4772.92 -1.0 54.43 -54.43
2020-11-23 2020 11 2020-11-23 2020-11-27 5005.03 4980.77 -1.0 -24.26 24.26
2020-12-24 2020 12 2020-12-24 2020-12-30 5000.02 5113.71 -1.0 113.69 -113.69
2021-01-22 2021 01 2021-01-22 2021-01-28 5569.78 5377.14 -1.0 -192.64 192.64
2021-02-19 2021 02 2021-02-19 2021-02-25 5778.84 5469.56 -1.0 -309.28 309.28
2021-03-24 2021 03 2021-03-24 2021-03-30 4928.69 5094.73 -1.0 166.04 -166.04
2021-04-23 2021 04 2021-04-23 2021-04-29 5135.45 5164.17 -1.0 28.72 -28.72
2021-05-24 2021 05 2021-05-24 2021-05-28 5155.59 5321.09 -1.0 165.50 -165.50
2021-06-23 2021 06 2021-06-23 2021-06-29 5147.39 5190.54 -1.0 43.15 -43.15
2021-07-23 2021 07 2021-07-23 2021-07-29 5089.23 4850.27 -1.0 -238.96 238.96
2021-08-24 2021 08 2021-08-24 2021-08-30 4888.39 4813.27 -1.0 -75.12 75.12
2021-09-23 2021 09 2021-09-23 2021-09-29 4853.20 4833.93 -1.0 -19.27 19.27
2021-10-22 2021 10 2021-10-22 2021-10-28 4959.73 4864.14 -1.0 -95.59 95.59
2021-11-23 2021 11 2021-11-23 2021-11-29 4913.35 4851.42 -1.0 -61.93 61.93
2021-12-24 2021 12 2021-12-24 2021-12-30 4921.34 4921.51 -1.0 0.17 -0.17
2022-01-21 2022 01 2022-01-21 2022-01-27 4779.31 4619.88 -1.0 -159.43 159.43
2022-02-21 2022 02 2022-02-21 2022-02-25 4634.31 4573.42 -1.0 -60.89 60.89
2022-03-24 2022 03 2022-03-24 2022-03-30 4251.31 4254.10 -1.0 2.79 -2.79
2022-04-22 2022 04 2022-04-22 2022-04-28 4013.25 3921.11 -1.0 -92.14 92.14
2022-05-24 2022 05 2022-05-24 2022-05-30 3959.15 4029.02 -1.0 69.87 -69.87
2022-06-23 2022 06 2022-06-23 2022-06-29 4343.88 4421.36 -1.0 77.48 -77.48
2022-07-22 2022 07 2022-07-22 2022-07-28 4238.23 4225.67 -1.0 -12.56 12.56
2022-08-24 2022 08 2022-08-24 2022-08-30 4082.42 4075.79 -1.0 -6.63 6.63
2022-09-23 2022 09 2022-09-23 2022-09-29 3856.02 3827.14 -1.0 -28.88 28.88
2022-10-24 2022 10 2022-10-24 2022-10-28 3633.37 3541.33 -1.0 -92.04 92.04
2022-11-23 2022 11 2022-11-23 2022-11-29 3773.53 3848.42 -1.0 74.89 -74.89
2022-12-23 2022 12 2022-12-23 2022-12-29 3828.22 3856.70 -1.0 28.48 -28.48
2023-01-17 2023 01 2023-01-17 2023-01-30 4137.24 4201.35 -1.0 64.11 -64.11
2023-02-21 2023 02 2023-02-21 2023-02-27 4144.35 4043.84 -1.0 -100.51 100.51
2023-03-24 2023 03 2023-03-24 2023-03-30 4027.05 4038.53 -1.0 11.48 -11.48

做多

long_trade_df

year month start_date end_date open_price close_price direction diff points
date
2010-01-28 2010 01 2010-01-28 2010-02-02 3206.57 3146.19 1.0 -60.38 -60.38
2010-02-25 2010 02 2010-02-25 2010-03-02 3292.13 3311.24 1.0 19.11 19.11
2010-03-30 2010 03 2010-03-30 2010-04-02 3366.71 3407.35 1.0 40.64 40.64
2010-04-29 2010 04 2010-04-29 2010-05-05 3060.06 3036.39 1.0 -23.67 -23.67
2010-05-28 2010 05 2010-05-28 2010-06-02 2850.30 2757.53 1.0 -92.77 -92.77
2010-06-29 2010 06 2010-06-29 2010-07-02 2592.02 2534.11 1.0 -57.91 -57.91
2010-07-29 2010 07 2010-07-29 2010-08-03 2877.98 2865.97 1.0 -12.01 -12.01
2010-08-30 2010 08 2010-08-30 2010-09-02 2915.01 2921.39 1.0 6.38 6.38
2010-09-29 2010 09 2010-09-29 2010-10-11 2874.81 3132.89 1.0 258.08 258.08
2010-10-28 2010 10 2010-10-28 2010-11-02 3397.69 3463.13 1.0 65.44 65.44
2010-11-29 2010 11 2010-11-29 2010-12-02 3190.05 3155.06 1.0 -34.99 -34.99
2010-12-30 2010 12 2010-12-30 2011-01-05 3064.10 3175.66 1.0 111.56 111.56
2011-01-28 2011 01 2011-01-28 2011-02-09 3036.74 3040.95 1.0 4.21 4.21
2011-02-25 2011 02 2011-02-25 2011-03-02 3197.62 3243.30 1.0 45.68 45.68
2011-03-30 2011 03 2011-03-30 2011-04-06 3256.08 3311.07 1.0 54.99 54.99
2011-04-28 2011 04 2011-04-28 2011-05-04 3161.78 3129.03 1.0 -32.75 -32.75
2011-05-30 2011 05 2011-05-30 2011-06-02 2954.51 2955.70 1.0 1.19 1.19
2011-06-29 2011 06 2011-06-29 2011-07-04 3000.17 3121.98 1.0 121.81 121.81
2011-07-28 2011 07 2011-07-28 2011-08-02 2981.00 2956.38 1.0 -24.62 -24.62
2011-08-30 2011 08 2011-08-30 2011-09-02 2841.74 2803.85 1.0 -37.89 -37.89
2011-09-29 2011 09 2011-09-29 2011-10-11 2588.18 2551.99 1.0 -36.19 -36.19
2011-10-28 2011 10 2011-10-28 2011-11-02 2709.02 2742.39 1.0 33.37 33.37
2011-11-29 2011 11 2011-11-29 2011-12-02 2608.57 2557.31 1.0 -51.26 -51.26
2011-12-29 2011 12 2011-12-29 2012-01-05 2311.36 2276.39 1.0 -34.97 -34.97
2012-01-30 2012 01 2012-01-30 2012-02-02 2460.72 2486.24 1.0 25.52 25.52
2012-02-28 2012 02 2012-02-28 2012-03-02 2662.46 2679.93 1.0 17.47 17.47
2012-03-29 2012 03 2012-03-29 2012-04-06 2443.12 2519.83 1.0 76.71 76.71
2012-04-26 2012 04 2012-04-26 2012-05-03 2631.49 2691.52 1.0 60.03 60.03
2012-05-30 2012 05 2012-05-30 2012-06-04 2642.26 2559.03 1.0 -83.23 -83.23
2012-06-28 2012 06 2012-06-28 2012-07-03 2425.73 2468.72 1.0 42.99 42.99
2012-07-30 2012 07 2012-07-30 2012-08-02 2335.79 2334.88 1.0 -0.91 -0.91
2012-08-30 2012 08 2012-08-30 2012-09-04 2211.37 2204.41 1.0 -6.96 -6.96
2012-09-27 2012 09 2012-09-27 2012-10-09 2251.72 2320.16 1.0 68.44 68.44
2012-10-30 2012 10 2012-10-30 2012-11-02 2239.88 2306.77 1.0 66.89 66.89
2012-11-29 2012 11 2012-11-29 2012-12-04 2115.68 2131.47 1.0 15.79 15.79
2012-12-28 2012 12 2012-12-28 2013-01-07 2480.05 2535.99 1.0 55.94 55.94
2013-01-30 2013 01 2013-01-30 2013-02-04 2688.71 2748.03 1.0 59.32 59.32
2013-02-27 2013 02 2013-02-27 2013-03-04 2594.68 2545.72 1.0 -48.96 -48.96
2013-03-28 2013 03 2013-03-28 2013-04-02 2499.30 2486.39 1.0 -12.91 -12.91
2013-04-25 2013 04 2013-04-25 2013-05-03 2467.88 2492.91 1.0 25.03 25.03
2013-05-30 2013 05 2013-05-30 2013-06-04 2634.32 2565.67 1.0 -68.65 -68.65
2013-06-27 2013 06 2013-06-27 2013-07-02 2160.74 2221.98 1.0 61.24 61.24
2013-07-30 2013 07 2013-07-30 2013-08-02 2189.39 2247.26 1.0 57.87 57.87
2013-08-29 2013 08 2013-08-29 2013-09-03 2318.31 2354.50 1.0 36.19 36.19
2013-09-27 2013 09 2013-09-27 2013-10-09 2394.97 2453.58 1.0 58.61 58.61
2013-10-30 2013 10 2013-10-30 2013-11-04 2407.47 2380.45 1.0 -27.02 -27.02
2013-11-28 2013 11 2013-11-28 2013-12-03 2439.53 2442.78 1.0 3.25 3.25
2013-12-30 2013 12 2013-12-30 2014-01-03 2299.46 2290.78 1.0 -8.68 -8.68
2014-01-29 2014 01 2014-01-29 2014-02-10 2227.78 2267.53 1.0 39.75 39.75
2014-02-27 2014 02 2014-02-27 2014-03-04 2154.11 2184.27 1.0 30.16 30.16
2014-03-28 2014 03 2014-03-28 2014-04-02 2151.97 2180.73 1.0 28.76 28.76
2014-04-29 2014 04 2014-04-29 2014-05-06 2158.47 2157.33 1.0 -1.14 -1.14
2014-05-29 2014 05 2014-05-29 2014-06-04 2155.16 2128.27 1.0 -26.89 -26.89
2014-06-27 2014 06 2014-06-27 2014-07-02 2150.26 2170.87 1.0 20.61 20.61
2014-07-30 2014 07 2014-07-30 2014-08-04 2322.01 2375.62 1.0 53.61 53.61
2014-08-28 2014 08 2014-08-28 2014-09-02 2311.28 2386.46 1.0 75.18 75.18
2014-09-29 2014 09 2014-09-29 2014-10-09 2447.80 2481.95 1.0 34.15 34.15
2014-10-30 2014 10 2014-10-30 2014-11-04 2468.93 2513.17 1.0 44.24 44.24
2014-11-27 2014 11 2014-11-27 2014-12-02 2754.49 2923.94 1.0 169.45 169.45
2014-12-30 2014 12 2014-12-30 2015-01-06 3457.55 3641.06 1.0 183.51 183.51
2015-01-29 2015 01 2015-01-29 2015-02-03 3481.80 3437.45 1.0 -44.35 -44.35
2015-02-26 2015 02 2015-02-26 2015-03-03 3566.30 3507.90 1.0 -58.40 -58.40
2015-03-30 2015 03 2015-03-30 2015-04-02 4088.18 4124.78 1.0 36.60 36.60
2015-04-29 2015 04 2015-04-29 2015-05-05 4774.33 4596.84 1.0 -177.49 -177.49
2015-05-28 2015 05 2015-05-28 2015-06-02 4834.01 5161.87 1.0 327.86 327.86
2015-06-29 2015 06 2015-06-29 2015-07-02 4191.55 4108.00 1.0 -83.55 -83.55
2015-07-30 2015 07 2015-07-30 2015-08-04 3815.41 3948.16 1.0 132.75 132.75
2015-08-28 2015 08 2015-08-28 2015-09-02 3342.29 3365.83 1.0 23.54 23.54
2015-09-29 2015 09 2015-09-29 2015-10-09 3178.85 3340.12 1.0 161.27 161.27
2015-10-29 2015 10 2015-10-29 2015-11-03 3533.31 3465.49 1.0 -67.82 -67.82
2015-11-27 2015 11 2015-11-27 2015-12-02 3556.99 3721.95 1.0 164.96 164.96
2015-12-30 2015 12 2015-12-30 2016-01-05 3765.18 3478.78 1.0 -286.40 -286.40
2016-01-28 2016 01 2016-01-28 2016-02-02 2853.76 2961.33 1.0 107.57 107.57
2016-02-26 2016 02 2016-02-26 2016-03-02 2948.03 3051.33 1.0 103.30 103.30
2016-03-30 2016 03 2016-03-30 2016-04-05 3216.28 3264.49 1.0 48.21 48.21
2016-04-28 2016 04 2016-04-28 2016-05-04 3160.58 3209.46 1.0 48.88 48.88
2016-05-30 2016 05 2016-05-30 2016-06-02 3066.71 3167.10 1.0 100.39 100.39
2016-06-29 2016 06 2016-06-29 2016-07-04 3151.39 3204.70 1.0 53.31 53.31
2016-07-28 2016 07 2016-07-28 2016-08-02 3221.14 3189.05 1.0 -32.09 -32.09
2016-08-30 2016 08 2016-08-30 2016-09-02 3311.99 3314.11 1.0 2.12 2.12
2016-09-29 2016 09 2016-09-29 2016-10-11 3244.39 3306.56 1.0 62.17 62.17
2016-10-28 2016 10 2016-10-28 2016-11-02 3340.13 3333.35 1.0 -6.78 -6.78
2016-11-29 2016 11 2016-11-29 2016-12-02 3564.04 3528.95 1.0 -35.09 -35.09
2016-12-29 2016 12 2016-12-29 2017-01-04 3297.76 3368.31 1.0 70.55 70.55
2017-01-25 2017 01 2017-01-25 2017-02-06 3375.90 3373.21 1.0 -2.69 -2.69
2017-02-27 2017 02 2017-02-27 2017-03-02 3446.22 3435.10 1.0 -11.12 -11.12
2017-03-30 2017 03 2017-03-30 2017-04-06 3436.76 3514.05 1.0 77.29 77.29
2017-04-27 2017 04 2017-04-27 2017-05-03 3446.72 3413.13 1.0 -33.59 -33.59
2017-05-26 2017 05 2017-05-26 2017-06-02 3480.43 3486.51 1.0 6.08 6.08
2017-06-29 2017 06 2017-06-29 2017-07-04 3668.83 3619.98 1.0 -48.85 -48.85
2017-07-28 2017 07 2017-07-28 2017-08-02 3721.89 3760.85 1.0 38.96 38.96
2017-08-30 2017 08 2017-08-30 2017-09-04 3834.30 3845.62 1.0 11.32 11.32
2017-09-28 2017 09 2017-09-28 2017-10-10 3822.54 3889.86 1.0 67.32 67.32
2017-10-30 2017 10 2017-10-30 2017-11-02 4009.72 3997.13 1.0 -12.59 -12.59
2017-11-29 2017 11 2017-11-29 2017-12-04 4053.75 4018.86 1.0 -34.89 -34.89
2017-12-28 2017 12 2017-12-28 2018-01-03 4018.90 4111.39 1.0 92.49 92.49
2018-01-30 2018 01 2018-01-30 2018-02-02 4256.10 4271.23 1.0 15.13 15.13
2018-02-27 2018 02 2018-02-27 2018-03-02 4058.98 4016.46 1.0 -42.52 -42.52
2018-03-29 2018 03 2018-03-29 2018-04-03 3894.05 3862.48 1.0 -31.57 -31.57
2018-04-26 2018 04 2018-04-26 2018-05-03 3755.49 3793.00 1.0 37.51 37.51
2018-05-30 2018 05 2018-05-30 2018-06-04 3723.37 3807.58 1.0 84.21 84.21
2018-06-28 2018 06 2018-06-28 2018-07-03 3423.53 3409.28 1.0 -14.25 -14.25
2018-07-30 2018 07 2018-07-30 2018-08-02 3515.08 3370.96 1.0 -144.12 -144.12
2018-08-30 2018 08 2018-08-30 2018-09-04 3351.09 3363.90 1.0 12.81 12.81
2018-09-27 2018 09 2018-09-27 2018-10-09 3403.59 3288.69 1.0 -114.90 -114.90
2018-10-30 2018 10 2018-10-30 2018-11-02 3110.26 3290.25 1.0 179.99 179.99
2018-11-29 2018 11 2018-11-29 2018-12-04 3137.65 3267.71 1.0 130.06 130.06
2018-12-27 2018 12 2018-12-27 2019-01-03 2990.51 2964.84 1.0 -25.67 -25.67
2019-01-30 2019 01 2019-01-30 2019-02-11 3168.48 3306.47 1.0 137.99 137.99
2019-02-27 2019 02 2019-02-27 2019-03-04 3678.39 3794.10 1.0 115.71 115.71
2019-03-28 2019 03 2019-03-28 2019-04-02 3728.40 3971.29 1.0 242.89 242.89
2019-04-29 2019 04 2019-04-29 2019-05-07 3900.33 3720.67 1.0 -179.66 -179.66
2019-05-30 2019 05 2019-05-30 2019-06-04 3641.18 3598.47 1.0 -42.71 -42.71
2019-06-27 2019 06 2019-06-27 2019-07-02 3834.82 3937.17 1.0 102.35 102.35
2019-07-30 2019 07 2019-07-30 2019-08-02 3870.32 3747.44 1.0 -122.88 -122.88
2019-08-29 2019 08 2019-08-29 2019-09-03 3790.19 3853.61 1.0 63.42 63.42
2019-09-27 2019 09 2019-09-27 2019-10-09 3852.65 3843.24 1.0 -9.41 -9.41
2019-10-30 2019 10 2019-10-30 2019-11-04 3891.23 3978.12 1.0 86.89 86.89
2019-11-28 2019 11 2019-11-28 2019-12-03 3862.30 3851.09 1.0 -11.21 -11.21
2019-12-30 2019 12 2019-12-30 2020-01-03 4081.63 4144.96 1.0 63.33 63.33
2020-01-22 2020 01 2020-01-22 2020-02-04 4131.93 3785.64 1.0 -346.29 -346.29
2020-02-27 2020 02 2020-02-27 2020-03-03 4084.88 4091.36 1.0 6.48 6.48
2020-03-30 2020 03 2020-03-30 2020-04-02 3674.11 3734.53 1.0 60.42 60.42
2020-04-29 2020 04 2020-04-29 2020-05-07 3867.03 3924.89 1.0 57.86 57.86
2020-05-28 2020 05 2020-05-28 2020-06-02 3856.63 3983.57 1.0 126.94 126.94
2020-06-29 2020 06 2020-06-29 2020-07-02 4109.72 4335.84 1.0 226.12 226.12
2020-07-30 2020 07 2020-07-30 2020-08-04 4656.15 4775.80 1.0 119.65 119.65
2020-08-28 2020 08 2020-08-28 2020-09-02 4844.27 4843.89 1.0 -0.38 -0.38
2020-09-29 2020 09 2020-09-29 2020-10-12 4591.80 4823.16 1.0 231.36 231.36
2020-10-29 2020 10 2020-10-29 2020-11-03 4772.92 4777.56 1.0 4.64 4.64
2020-11-27 2020 11 2020-11-27 2020-12-02 4980.77 5067.14 1.0 86.37 86.37
2020-12-30 2020 12 2020-12-30 2021-01-05 5113.71 5368.50 1.0 254.79 254.79
2021-01-28 2021 01 2021-01-28 2021-02-02 5377.14 5501.09 1.0 123.95 123.95
2021-02-25 2021 02 2021-02-25 2021-03-02 5469.56 5349.63 1.0 -119.93 -119.93
2021-03-30 2021 03 2021-03-30 2021-04-02 5094.73 5161.56 1.0 66.83 66.83
2021-04-29 2021 04 2021-04-29 2021-05-07 5164.17 4996.05 1.0 -168.12 -168.12
2021-05-28 2021 05 2021-05-28 2021-06-02 5321.09 5289.97 1.0 -31.12 -31.12
2021-06-29 2021 06 2021-06-29 2021-07-02 5190.54 5081.12 1.0 -109.42 -109.42
2021-07-29 2021 07 2021-07-29 2021-08-03 4850.27 4934.46 1.0 84.19 84.19
2021-08-30 2021 08 2021-08-30 2021-09-02 4813.27 4869.41 1.0 56.14 56.14
2021-09-29 2021 09 2021-09-29 2021-10-11 4833.93 4936.19 1.0 102.26 102.26
2021-10-28 2021 10 2021-10-28 2021-11-02 4864.14 4839.85 1.0 -24.29 -24.29
2021-11-29 2021 11 2021-11-29 2021-12-02 4851.42 4856.16 1.0 4.74 4.74
2021-12-30 2021 12 2021-12-30 2022-01-05 4921.51 4868.12 1.0 -53.39 -53.39
2022-01-27 2022 01 2022-01-27 2022-02-08 4619.88 4608.77 1.0 -11.11 -11.11
2022-02-25 2022 02 2022-02-25 2022-03-02 4573.42 4578.60 1.0 5.18 5.18
2022-03-30 2022 03 2022-03-30 2022-04-06 4254.10 4263.84 1.0 9.74 9.74
2022-04-28 2022 04 2022-04-28 2022-05-06 3921.11 3908.82 1.0 -12.29 -12.29
2022-05-30 2022 05 2022-05-30 2022-06-02 4029.02 4089.57 1.0 60.55 60.55
2022-06-29 2022 06 2022-06-29 2022-07-04 4421.36 4496.03 1.0 74.67 74.67
2022-07-28 2022 07 2022-07-28 2022-08-02 4225.67 4107.02 1.0 -118.65 -118.65
2022-08-30 2022 08 2022-08-30 2022-09-02 4075.79 4023.61 1.0 -52.18 -52.18
2022-09-29 2022 09 2022-09-29 2022-10-11 3827.14 3727.69 1.0 -99.45 -99.45
2022-10-28 2022 10 2022-10-28 2022-11-02 3541.33 3677.81 1.0 136.48 136.48
2022-11-29 2022 11 2022-11-29 2022-12-02 3848.42 3870.95 1.0 22.53 22.53
2022-12-29 2022 12 2022-12-29 2023-01-04 3856.70 3892.95 1.0 36.25 36.25
2023-01-30 2023 01 2023-01-30 2023-02-02 4201.35 4181.15 1.0 -20.20 -20.20
2023-02-27 2023 02 2023-02-27 2023-03-02 4043.84 4117.74 1.0 73.90 73.90
2023-03-30 2023 03 2023-03-30 2023-04-04 4038.53 4103.11 1.0 64.58 64.58

各年收益

short_se = short_trade_df.groupby('year')['points'].sum()
short_se.name = '做空'
long_se = long_trade_df.groupby('year')['points'].sum()
long_se.name = '做多'
data = [short_se,long_se]
year_df = pd.concat(data,axis=1)
year_df['合计'] = year_df['做多'] + year_df['做空']
year_df

做空 做多 合计
year
2010 232.21 219.48 451.69
2011 167.85 43.57 211.42
2012 177.44 338.68 516.12
2013 260.40 135.29 395.69
2014 -403.51 651.39 247.88
2015 1233.55 128.97 1362.52
2016 374.36 522.54 896.90
2017 -81.09 149.73 68.64
2018 417.31 86.68 503.99
2019 -172.80 446.71 273.91
2020 -370.45 827.96 457.51
2021 589.21 -68.16 521.05
2022 199.06 51.72 250.78
2023 24.92 118.28 143.20

各月收益

short_se = short_trade_df.groupby('month')['points'].sum()
short_se.name = '做空'
long_se = long_trade_df.groupby('month')['points'].sum()
long_se.name = '做多'
data = [short_se,long_se]
month_df = pd.concat(data,axis=1)
month_df['合计'] = month_df['做多'] + month_df['做空']
month_df

做空 做多 合计
month
01 707.34 28.42 735.76
02 399.07 136.06 535.13
03 -51.09 763.18 712.09
04 516.73 -399.40 117.33
05 -162.33 361.85 199.52
06 918.25 389.12 1307.37
07 520.62 31.75 552.37
08 -98.19 189.69 91.50
09 216.52 783.71 1000.23
10 36.98 479.44 516.42
11 -82.53 429.71 347.18
12 -272.91 459.31 186.40

文章作者: 止一之路
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 止一之路 !
评论
  目录