精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

研報復現:技術分析算法、框架與實戰

發布于 2025-8-22 07:34
瀏覽
0收藏

《破解“看圖”之謎:技術分析算法、框架與實戰》是中泰證券于2021年8月發布的一份金融工程報告,旨在以科學方法系統化、自動化地識別技術圖形,并驗證其在實際市場中的有效性。

研報簡讀

一、研究背景與意義

技術分析長期被視為主觀性強、缺乏統一標準的分析方法。報告指出,其不被廣泛接受的主要原因有二:一是缺乏固定算法,導致不同分析者對同一圖表解讀不一;二是多數文獻未系統論證技術分析適用的市場環境與實踐效果。為此,報告借鑒Andrew W Lo等學者在2000年提出的方法,構建了一套科學、可重復的技術分析框架。

二、算法原理:核回歸與極值點識別

報告采用核回歸(Nadaraya-Watson估計) 對價格序列進行平滑處理,以消除噪聲并準確提取極值點。通過高斯核函數和交叉驗證法選擇最優帶寬,確保平滑效果既不過度也不不足。極值點通過導數符號變化識別,進而根據其排列與高低關系定義各類技術形態(如頭肩底、雙頂、三角形等)。

三、形態定義與識別

報告系統定義了幾類常見技術形態(頭肩頂/底、發散形態、三角形、矩形、雙頂/底),并通過五個連續極值點的相對位置和幅度關系進行數學刻畫。識別過程包括:平滑價格序列 → 求導找極值 → 按定義匹配形態。

四、實證分析:頭肩底形態的有效性

報告重點驗證了“頭肩底(IHS)”形態在行業指數和寬基指數上的表現(2010–2021年數據),發現:

  • 在指數層面,多數行業在形態出現后10日內獲得正收益,勝率普遍超過50%,部分行業(如化工、汽車、電氣設備)勝率可達70%以上。
  • 結合均線條件(如MA5>MA20) 可進一步提升勝率。
  • 在個股層面,頭肩底形態表現不穩定,勝率分布接近隨機(以50%為中位數),提示技術分析在個股擇時中需謹慎使用。

五、結論與風險提示

技術分析在指數擇時中具有顯著價值,尤其在中期(10日)展望中表現穩健;但在個股層面效果有限,需結合其他分析方法。報告強調,所有結論基于歷史數據統計,存在滯后性、模型局限性和市場環境變化風險,投資者應謹慎參考。

總結

該報告通過算法化、系統化的方法,為技術分析提供了科學的實證基礎,打破了其“主觀藝術”的傳統印象,尤其在指數投資中展現出實用價值,為量化投資與技術分析的結合提供了重要參考。

代碼復現

論文介紹:《Foundations of Technical Analysis》

Andrew W Lo、Harry Mamaysky和王江提出了一種系統化和自動化的方法,使用非參數核回歸方法來進行模式識別,并將該方法應用于1962年至 1996 年的美股數據,以評估技術分析的有效性。通過將股票收益的無條件經驗分布與條件分布(給定特定的技術指標,例如:頭肩底形態、雙底形態)作比較,發現在 31 年的樣本期 間內,部分技術指標確實提供了有用的信息,具有實用價值。 與基本面分析不同,技術分析一直以來飽受爭議。

然而一些學術研究表明,技術分析能從市場價格中提取 有用的信息。例如,Lo and MacKinlay (1988, 1999)證實了每周的美股指數并非隨機游走,過去的價格可以在某種 程度上預測未來收益。技術分析和傳統金融工程的一個重要區別在于,技術分析主要通過觀察圖表進行,而量化金融則依賴于相對完善的數值法。因此,技術分析利用幾何工具和形態識別,而量化金融運用數學分析和概率統計。

隨著近年來金融工程、計算機技術和數值算法等領域的突破,金融工程可以逐步取代不那么嚴謹的技術分析。技術分析雖飽受質疑卻仍能占據一席之地,歸功于其視覺分析模式更貼近直觀認知,而且在過去,要進行技術分析,首先要認識到價格過程是非線性的,且包含一定的規律和模式。為了定量地捕捉這種規 律,我們首先假定價格過程尚未有嚴格的算法取代傳統的技術分析,如今,成熟的統計算法能夠取代傳統的幾何畫圖,讓技術分析繼續以 更新、更嚴謹的方式服務投資者,同時金融工程領域在分析范式上也得到了豐富。

形態識別算法

核估計方法

假定價格過程Pt有如下表達形式:

研報復現:技術分析算法、框架與實戰-AI.x社區

其中Xt是狀態變量,m(Xt)是任意固定但位置的非線性函數,

研報復現:技術分析算法、框架與實戰-AI.x社區

為白噪聲。

為了識別模式,我們令狀態變量等于時間Xt = t,此時,需要用一個光滑函數

研報復現:技術分析算法、框架與實戰-AI.x社區

。近似價格過程為了與核回歸估計文獻中的符號保持一致,我們仍將狀態變量記為Xt。

研報復現:技術分析算法、框架與實戰-AI.x社區

還需要一個形態識別的算法,以自動識別指數指標。一旦有了算法,就可以應用于不同時段的資產價格,從而評估不同技術指標的有效性。

平滑估計量

研報復現:技術分析算法、框架與實戰-AI.x社區

其中離x較近的Xt對應的Pt擁有較大的權重

研報復現:技術分析算法、框架與實戰-AI.x社區

。對于距離的選擇,太寬會導致估計量過于平滑而無法顯示出

研報復現:技術分析算法、框架與實戰-AI.x社區

真正的特性,太窄又會導致估計量的波動較大,無法排除噪聲的影響。因此需要通過選擇合適的權重

研報復現:技術分析算法、框架與實戰-AI.x社區

來平衡以上兩點。

核回歸

研報復現:技術分析算法、框架與實戰-AI.x社區

形態識別算法

1、頭肩形態(頭肩頂和頭肩底)

研報復現:技術分析算法、框架與實戰-AI.x社區

2、發散形態(頂部發散和底部發散)

研報復現:技術分析算法、框架與實戰-AI.x社區

3、三角形

研報復現:技術分析算法、框架與實戰-AI.x社區

4、矩形

研報復現:技術分析算法、框架與實戰-AI.x社區

形態識別測試

中國寶安

data1 = get_price('000009.XSHE', start_date='2021-01-21', end_date='2021-12-31',
                 fields=['open', 'close', 'low', 'high'], panel=False)
patterns_record1 = rolling_patterns2pool(data1['close'],n=35)
plot_patterns_chart(data1,patterns_record1,True,False)
plt.title('中國寶安')
plot_patterns_chart(data1,patterns_record1,True,True);

研報復現:技術分析算法、框架與實戰-AI.x社區

江淮汽車

data2 = get_price('600418.XSHG', start_date='2021-01-21', end_date='2021-12-31',
                 fields=['open', 'close', 'low', 'high'], panel=False)
patterns_record2 = rolling_patterns2pool(data1['close'],n=35)
plot_patterns_chart(data1,patterns_record2,True,False)
plt.title('江淮汽車')
plot_patterns_chart(data1,patterns_record2,True,True);

研報復現:技術分析算法、框架與實戰-AI.x社區

滬深300

hs300 = get_price('000300.XSHG', start_date='2014-01-01', end_date='2021-12-31',
                 fields=['open', 'close', 'low', 'high'], panel=False)
# 這里周期周期較長 加入reset_window設置字典更新頻率
patterns_record3 = rolling_patterns2pool(hs300['close'],n=35,reset_window=120)
plot_patterns_chart(hs300,patterns_record3,True,False)
plt.title('滬深300')
plot_patterns_chart(hs300,patterns_record3,True,True);

研報復現:技術分析算法、框架與實戰-AI.x社區

研報復現:技術分析算法、框架與實戰-AI.x社區

研報復現:技術分析算法、框架與實戰-AI.x社區

研報復現:技術分析算法、框架與實戰-AI.x社區

申萬一級行業形態識別情況

def patterns_res2json(dic: Dict) -> str:
    """將結果轉為json
    Args:
        dic (Dict): 結果字典
    Returns:
        str
    """
    def json_serial(obj):
        """JSON serializer for objects not serializable by default json code"""
        if isinstance(obj, np.datetime64):
            return pd.to_datetime(obj).strftime('%Y-%m-%d')
        if isinstance(obj, np.ndarray):
            return list(map(lambda x: pd.to_datetime(x).strftime('%Y-%m-%d'), obj.tolist()))
    return json.dumps(dic, default=json_serial, ensure_ascii=False)
def pretreatment_events(factor: pd.DataFrame, returns: pd.DataFrame, before: int, after: int) -> pd.DataFrame:
    """預處理事件,將其拉到同一時間
    Args:
        factor (pd.DataFrame): MuliIndex level0-date level1-asset
        returns (pd.DataFrame): index-datetime columns-asset 
        before (int): 事件前N日
        after (int): 事件后N日
    Returns:
        pd.DataFrame: [description]
    """
    all_returns = []
    for timestamp, df in factor.groupby(level='date'):
        equities = df.index.get_level_values('asset')
        try:
            day_zero_index = returns.index.get_loc(timestamp)
        except KeyError:
            continue
        starting_index = max(day_zero_index - before, 0)
        ending_index = min(day_zero_index + after + 1,
                           len(returns.index))
        equities_slice = set(equities)
        series = returns.loc[returns.index[starting_index:ending_index],
                             equities_slice]
        series.index = range(starting_index - day_zero_index,
                             ending_index - day_zero_index)
        all_returns.append(series)
    return pd.concat(all_returns, axis=1)
def get_event_cumreturns(pretreatment_events: pd.DataFrame) -> pd.DataFrame:
    """以事件當日為基準的累計收益計算
    Args:
        pretreatment_events (pd.DataFrame): index-事件前后日 columns-asset
    Returns:
        pd.DataFrame
    """
    df = pd.DataFrame(index=pretreatment_events.index,
                      columns=pretreatment_events.columns)
    df.loc[:0] = pretreatment_events.loc[:0] / pretreatment_events.loc[0] - 1
    df.loc[1:] = pretreatment_events.loc[0:] / pretreatment_events.loc[0] - 1
    return df
def get_industry_price(codes: Union[str, List], start: str, end: str) -> pd.DataFrame:
    """獲取行業指數日度數據. 限制獲取條數Limit=4000
    Args:
        codes (Union[str,List]): 行業指數代碼
        start (str): 起始日
        end (str): 結束日
    Returns:
        pd.DataFrame: 日度數據
    """
    def query_func(code: str, start: str, end: str) -> pd.Series:
        return finance.run_query(query(finance.SW1_DAILY_PRICE).filter(finance.SW1_DAILY_PRICE.code == code,
                                                                       finance.SW1_DAILY_PRICE.date >= start,
                                                                       finance.SW1_DAILY_PRICE.date <= end))
    if isinstance(codes, str):
        codes = [codes]
    return pd.concat((query_func(code, start, end) for code in codes))
def calc_events_ret(ser: pd.Series, pricing: pd.DataFrame, before: int = 3, end: int = 10, group: bool = True) -> Union[pd.Series, pd.DataFrame]:
    """ 計算形態識別前累計收益率情況
    Args:
        ser (pd.Series): _description_
        pricing (pd.DataFrame): 價格數據 index-date columns-指數
        before (int, optional): 識別前N日. Defaults to 3.
        end (int, optional): 識別后N日. Defaults to 10.
        group (bool, optional): 是否分組. Defaults to True.
    Returns:
        Union[pd.Series, pd.DataFrame]
    """
    events = pretreatment_events(ser, pricing, before,  end)
    rets = get_event_cumreturns(events)
    if group:
        return rets.mean(axis=1)
    else:
        return rets
def get_win_rate(df: pd.DataFrame) -> pd.DataFrame:
    """計算勝率
    Args:
        df (pd.DataFrame): index-days columns 
    Returns:
        pd.DataFrame
    """
    return df.apply(lambda x: np.sum(np.where(x > 0, 1, 0)) / x.count(), axis=1)
def get_pl(df:pd.DataFrame)->pd.DataFrame:
    """計算盈虧比
    Returns:
        pd.DataFrame
    """
    return df.apply(lambda x:x[x>0].mean() / x[x<0].mean(),axis=1)
def plot_events_ret(ser: pd.Series, title: str = '', ax=None):
    """繪制事件收益率圖
    Args:
        ser (pd.Series): 收益率序列
        ax (_type_, optional):Defaults to None.
    Returns:
        ax
    """
    if ax is None:
        fig, ax = plt.figure(figsize=(18, 4))
    line_ax = ser.plot(ax=ax, marker='o', title=title)
    line_ax.yaxis.set_major_formatter(
        mpl.ticker.FuncFormatter(lambda x, pos: '%.2f%%' % (x * 100)))
    line_ax.set_xlabel('天')
    line_ax.set_ylabel('平均收益率')
    ax.axvline(0, ls='--', color='black')
    return ax

# 獲取申萬一級行業列表
indstries_frame = get_industries(name='sw_l1', date=None)
industry_price = get_industry_price(indstries_frame.index.tolist(),'2014-01-01','2022-02-18')
# 數據儲存
industry_price.to_csv('sw_lv1.csv')

# 讀取申萬一級行業數據
industry_price = pd.read_csv('sw_lv1.csv', index_col=[
                             'name', 'date'], parse_dates=True).drop(columns='Unnamed: 0')
industry_price.head()

# time 2:14:46
## 形態識別數量受窗口期 及 更新字典的窗口 大小影響
dic = {}  # 儲存形態識別結果
for name,df in tqdm(industry_price.groupby(level='name')):


    if len(df) > 120:
        dic[name] = rolling_patterns2pool(df.loc[name,'close'],35,reset_window = 120)._asdict()

# 將結果儲存為json
res_json =patterns_res2json(dic)
# 數據儲存
with open('res_json.json','w',encoding='utf-8') as file:
    json.dump(res_json,file)

# 讀取 形態識別后的文件
with open('res_json.json','r',encoding='utf-8') as file:
    res_json = json.load(file)

# 獲取交易日歷
trade_calendar = get_trade_days('2013-06-01','2022-02-21')
idx = pd.to_datetime(trade_calendar)

row_data = []  # 獲取形態識別時的時點
res_dic = json.loads(res_json)  # json轉為字典
for code,res1 in res_dic.items():
    for pattern_name,point_tuple in res1['patterns'].items():


        for p1,p2 in point_tuple:


            watch_date = idx.get_loc(p2) + 3 # 模擬三天后識別形態
            row_data.append([code,pattern_name,idx[watch_date]])
# 轉為frame格式
stats_df = pd.DataFrame(row_data,columns=['指數','形態','時間'])
stats_df['value'] = 1
factor_df = pd.pivot_table(stats_df,index=['時間','指數'],columns=['形態'],values='value')
factor_df = factor_df.sort_index()
factor_df.index.names = ['date','asset']
pricing = pd.pivot_table(industry_price.reset_index(),
                         index='date', columns='name', values='close')

形態識別后,前后平均收益情況

# TODO:收益減去指數自身 評價其超額情況 否則無法真實評價
group_ret = factor_df.groupby(level=0, axis=1).apply(
    lambda x: calc_events_ret(x.dropna(), pricing))
size = group_ret.shape[1]
fig, axes = plt.subplots(size, figsize=(18, 4 * size))
axes = axes.flatten()
for ax, (name, ser) in zip(axes, group_ret.items()):
    plot_events_ret(ser, name, ax)
plt.subplots_adjust(hspace=0.4)

研報復現:技術分析算法、框架與實戰-AI.x社區

# 計算勝率
evet_ret = factor_df.groupby(level=0, axis=1).apply(
    lambda x: calc_events_ret(x.dropna(), pricing, group=False))
grouped = evet_ret.groupby(level=[0, 1], axis=1)
# 計算勝率
win_ratio = grouped.apply(get_win_rate).loc[[3, 5, 10]].T.swaplevel().sort_index()
# 計算盈虧比
pl_df = grouped.apply(get_pl).loc[[3, 5, 10]].T.swaplevel().sort_index()
win_ratio.columns = pd.MultiIndex.from_tuples([('勝率',3),('勝率',5),('勝率',10)])
pl_df.columns = pd.MultiIndex.from_tuples([('盈虧比',3),('盈虧比',5),('盈虧比',10)])
pattern_count = factor_df.groupby(level=1).sum().stack()
stats = pd.concat((win_ratio,pl_df),axis=1)
stats[('識別次數','All')] = pattern_count

研報復現:技術分析算法、框架與實戰-AI.x社區圖片

本文轉載自??靈度智能??,作者:靈度智能

已于2025-8-22 10:32:44修改
收藏
回復
舉報
回復
相關推薦
欧美性猛交xxxxxx富婆| 国产色综合一区| 国内精久久久久久久久久人| 好吊色视频一区二区三区| 僵尸再翻生在线观看| 久久九九久久九九| 91人人爽人人爽人人精88v| 国产亚洲精品久久久久久打不开| 天天久久夜夜| 欧美日本在线播放| 欧美成人免费在线观看视频| 搞黄视频免费在线观看| 国产精品影音先锋| 欧美野外猛男的大粗鳮| 久久国产精品国语对白| 日韩极品少妇| 欧美一区二区三区免费视频| 国产91美女视频| 黄网页免费在线观看| 99久久99久久精品国产片果冻| 国产精品高潮视频| 欧美成人aaaaⅴ片在线看| 日韩国产欧美| 亚洲美女喷白浆| 奇米777在线| 国产韩日精品| 亚洲成人久久影院| 99亚洲国产精品| 国产视频在线看| 福利一区福利二区| 成人在线播放av| 99re这里只有精品在线| 欧美日韩日本国产亚洲在线 | 天堂成人在线观看| 九九国产精品视频| 国产精品www| 三级黄色在线视频| 一区在线观看| 欧美成人国产va精品日本一级| 国产熟女一区二区| 免费短视频成人日韩| 亚洲第一页自拍| 亚洲AV成人精品| 欧美h版在线观看| 制服丝袜成人动漫| 伊人成人222| 欧美天堂一区二区| 欧美伊人久久大香线蕉综合69| 国产肥臀一区二区福利视频| 免费成人在线电影| 午夜不卡在线视频| 免费无码毛片一区二三区| 激情影院在线| 亚洲第一精品在线| 国产精品专区在线| 欧美裸体视频| 色一情一乱一乱一91av| 成人在线观看黄| 成人看片网页| 欧美日韩一区中文字幕| 日韩欧美国产片| 91麻豆精品国产综合久久久| 91.麻豆视频| 日本高清免费在线视频| 久久亚洲精精品中文字幕| 欧美一级高清片在线观看| 五月六月丁香婷婷| 伊人久久影院| 亚洲国产精品久久久久久| 北岛玲一区二区| 天堂av一区二区三区在线播放| 日韩精品在线视频| 亚洲AV无码国产成人久久| 精品午夜久久| 久久精品成人动漫| 精品99在线观看| 亚洲日本国产| 国产精品电影观看| 国产精品久久久久久久久毛片| 国产乱人伦偷精品视频免下载| 成人国产一区二区| 婷婷婷国产在线视频| 国产欧美日韩精品在线| 中文字幕免费在线不卡| 激情网站在线| 91成人国产精品| 四季av一区二区三区| 国产一区二区三区亚洲综合| 亚洲国产精品一区二区久| av女人的天堂| 中文字幕一区二区三三| 97久久久久久| 这里只有精品免费视频| 国产剧情av麻豆香蕉精品| 精品国产一区二区三区麻豆小说 | 久久亚洲综合色一区二区三区| 日本一区二区三区免费看| 欧美成人高清在线| 午夜日韩在线电影| 日本特黄a级片| 国产成人一二| 中国人与牲禽动交精品| 国产亚洲第一页| 爽爽淫人综合网网站| 亚洲精品日韩av| 黑人与亚洲人色ⅹvideos| 亚洲欧美日韩国产综合在线| 日韩在线视频在线观看| 精品三级国产| 国产一区二区三区欧美| 午夜偷拍福利视频| 久久精品国产亚洲aⅴ| 国新精品乱码一区二区三区18| 成人在线观看黄色| 亚洲不卡av一区二区三区| 午夜免费看毛片| 蜜桃国内精品久久久久软件9| 九九九久久久久久| 中文字幕无线码一区| 91视频一区二区三区| 特级西西人体www高清大胆| 成人精品高清在线视频| 亚洲国产精品悠悠久久琪琪| 唐朝av高清盛宴| 乱一区二区av| 日韩高清国产精品| 桃色av一区二区| 精品久久久久久无| 91在线播放观看| 久久成人综合网| 日韩三级电影网站| 伊人久久视频| 亚洲精品美女久久久久| 国产小视频在线看| 国产精品一区二区在线观看网站| 无遮挡亚洲一区| 美女100%一区| 亚洲精品视频免费| 精品视频一区二区在线观看| 国产精品一色哟哟哟| 手机看片日韩国产| 高清不卡一区| 久久久精品一区| 国产伦子伦对白视频| 国产精品免费av| 色国产在线视频| 色婷婷亚洲mv天堂mv在影片| 国产精品吹潮在线观看| 久久电影视频| 欧美在线观看视频一区二区| 麻豆视频免费在线播放| 美腿丝袜亚洲色图| 亚洲成人av动漫| 玖玖精品在线| 久久久av网站| 亚洲av无码一区二区三区dv| 亚洲精品欧美二区三区中文字幕| 久久婷婷综合色| 天天综合国产| 成人精品久久av网站| 国产在线更新| 欧美mv日韩mv国产| 成年人免费看毛片| 久久久久久亚洲综合| 亚洲精品怡红院| 亚洲不卡av不卡一区二区| 亚洲精品日产aⅴ| 白浆在线视频| 亚洲性夜色噜噜噜7777| 一二区在线观看| 一区二区三区久久久| 欧美xxxx×黑人性爽| 美女国产一区| 伊人久久大香线蕉精品| 最新精品在线| 日韩av观看网址| 黄色在线免费看| 精品国产不卡一区二区三区| 五月婷婷激情网| 欧美国产一区二区| www.色.com| 亚洲欧美久久久| 一本久道久久综合| 国产精品视频3p| 国产精品高清在线| 91最新在线视频| 亚洲精品一区中文| 国产一区二区三区视频免费观看| 亚洲黄一区二区三区| av网站有哪些| 久久aⅴ国产欧美74aaa| 91九色丨porny丨国产jk| 波多野结衣在线观看一区二区三区 | 国产探花视频在线观看| 亚洲免费中文字幕| 亚洲一级黄色大片| 亚洲成av人片| fc2ppv在线播放| 91日韩在线专区| 一级黄色免费毛片| 一本色道久久| 免费成人深夜夜行网站视频| 午夜精品福利影院| 91久久国产精品91久久性色| 在线手机中文字幕| 久久99国产综合精品女同| 国产一二在线观看| 精品国产乱码久久久久久老虎| 波多野结衣网站| 午夜精品福利视频网站| 日韩高清dvd碟片| 国产欧美精品一区二区三区四区| 亚洲精品鲁一鲁一区二区三区 | 国产精品黄页免费高清在线观看| 日本欧美电影在线观看| 色婷婷av一区二区三区久久| 四虎影视在线播放| 欧美成人欧美edvon| 91午夜交换视频| 在线看一区二区| 成人午夜视频精品一区| 亚洲激情图片一区| 日本免费网站视频| 久久综合999| yy6080午夜| 丁香一区二区三区| 亚洲一区二区图片| 久久99精品一区二区三区| 中文字幕欧美人妻精品一区| 999在线观看精品免费不卡网站| 国产欧美自拍视频| 91日韩欧美| 亚洲7777| 色777狠狠狠综合伊人| 欧美在线播放一区| 日韩在线影视| 精品无人乱码一区二区三区的优势 | 免费毛片视频网站| 2023国产精品| 国产精品300页| 99久久er热在这里只有精品15| 中文字幕人妻熟女在线| 国产 欧美在线| 中文字幕第九页| 大陆成人av片| 中文字幕第66页| 国产综合色在线视频区| 日韩av片专区| 国产一区二区伦理| 久久久久亚洲av无码麻豆| 国产在线播放一区三区四| 亚洲成人手机在线观看| 国产大陆a不卡| 香蕉在线观看视频| 成人亚洲精品久久久久软件| 欧美激情 亚洲| 91色在线porny| 亚洲av成人无码久久精品 | 国产一级片视频| 亚洲成年人网站在线观看| 亚洲天堂日韩av| 色欧美乱欧美15图片| 中文亚洲av片在线观看| 91麻豆精品91久久久久同性| 亚洲AV无码成人片在线观看| 亚洲第一区第一页| 黄色电影免费在线看| 有码中文亚洲精品| 麻豆av在线导航| 欧美精品久久久久| 丁香六月综合| 国产人妖伪娘一区91| 亚洲国产欧美在线观看| 久久av一区二区三区漫画| 国内精品久久久久久久影视简单| 一区二区三区四区视频在线| 亚洲深深色噜噜狠狠爱网站| 亚洲熟妇无码一区二区三区导航| 亚洲一区免费| 五月激情婷婷在线| 成人91在线观看| av女人的天堂| 亚洲综合色自拍一区| 伦av综合一区| 欧美一区二区三区白人| 天天综合永久入口| 神马国产精品影院av| a级大胆欧美人体大胆666| 国产精品69av| 91精品导航| 亚洲欧美日韩不卡一区二区三区| 欧美三级第一页| 国产一级不卡毛片| 国产黄色成人av| 中字幕一区二区三区乱码| 一区二区三区中文字幕精品精品 | 精品一区二区在线免费观看| 特级特黄刘亦菲aaa级| 欧美激情一二三区| 亚洲国产精一区二区三区性色| 欧美性大战久久| 日本精品久久久久| 久久精品久久久久| 日本免费久久| 国产精品免费一区二区三区四区| 热久久天天拍国产| 凹凸国产熟女精品视频| 韩日精品视频一区| 黄色av免费播放| 懂色av中文一区二区三区天美| 国产人妻精品一区二区三区| 亚洲视频电影图片偷拍一区| 成人av影院在线观看| 国产主播精品在线| 神马电影久久| 欧美精品久久久久久久久久久| 麻豆91在线看| 2019男人天堂| 欧美日韩在线视频一区| 亚洲va久久久噜噜噜无码久久| 日韩有码在线电影| 88xx成人网| 日本一区二区精品视频| 亚洲欧美日韩国产一区| 国产激情第一页| 亚洲国产乱码最新视频 | 国产精品一二一区| 在线视频这里只有精品| 91电影在线观看| 酒色婷婷桃色成人免费av网| 97香蕉久久超级碰碰高清版| 日韩精品视频在线看| 一级全黄肉体裸体全过程| 麻豆91小视频| 亚洲精品久久久久久国| 欧美亚洲精品一区| 国产在线观看免费| 日韩av免费网站| 免费一区二区| 国产精品wwwww| 久久精品欧美一区二区三区不卡 | 91精品国产综合久久婷婷香蕉| av在线电影院| 国产精自产拍久久久久久蜜| 残酷重口调教一区二区| 亚洲一级片免费| 国产精品久久久久影院| 伊人成人在线观看| 日韩中文字幕视频| crdy在线观看欧美| 强开小嫩苞一区二区三区网站 | 一本综合精品| 久久亚洲AV成人无码国产野外| 精品久久香蕉国产线看观看gif| 日日夜夜精品免费| 欧美一二三视频| 免费看成人哺乳视频网站| 欧美日韩一区二区在线免费观看| 久久精品免视看| 中文资源在线播放| 久久精品2019中文字幕| 日韩一区二区三区精品| 欧美一级欧美一级| 2019国产精品| 久久国产香蕉视频| www日韩欧美| 97久久综合区小说区图片区| 伊人成色综合网| 亚洲国产精品激情在线观看| 一级黄色大毛片| 欧美国产中文字幕| 性欧美lx╳lx╳| 五月婷婷之婷婷| 亚洲成人第一页| 国产免费视频在线| 91九色视频导航| 一区二区三区福利| 极品尤物一区二区| 日韩精品中文字幕一区二区三区| 涩涩视频在线播放| 亚洲自拍三区| 99久久国产综合精品麻豆| 亚洲性在线观看| 97在线观看视频国产| 大色综合视频网站在线播放| 性一交一黄一片| 日本高清不卡视频| 污污片在线免费视频| 欧美一区二区三区四区五区六区| 久久97超碰国产精品超碰| 国产精品7777777| 色噜噜国产精品视频一区二区| 成人看片爽爽爽| 手机版av在线| 亚洲成人精品一区二区| 天天在线视频色| 精品一区久久久久久| 国产在线视频一区二区三区| 黑人一级大毛片| 欧美噜噜久久久xxx|