久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線(xiàn)實(shí)戰(zhàn)洞察。

Python股票大數(shù)據(jù)分析實(shí)戰(zhàn):從爬蟲(chóng)采集到回測(cè)驗(yàn)證全流程

Python股票大數(shù)據(jù)分析實(shí)戰(zhàn):從爬蟲(chóng)采集到回測(cè)驗(yàn)證全流程 簡(jiǎn)介面向金融數(shù)據(jù)分析初學(xué)者與有一定基礎(chǔ)的Python開(kāi)發(fā)者這份資源以股票市場(chǎng)數(shù)據(jù)為實(shí)戰(zhàn)場(chǎng)景系統(tǒng)串聯(lián)起數(shù)據(jù)采集、清洗、分析與建模全流程。內(nèi)容涉及Python爬蟲(chóng)編寫(xiě)與反爬應(yīng)對(duì)、Pandas處理缺失值和格式統(tǒng)一、NumPy/SciPy進(jìn)行統(tǒng)計(jì)計(jì)算、Matplotlib/Seaborn繪制K線(xiàn)與箱型圖以及利用Scikit-learn構(gòu)建回歸、決策樹(shù)或隨機(jī)森林等預(yù)測(cè)模型并延伸至Tushare實(shí)時(shí)數(shù)據(jù)獲取與Flask部署等環(huán)節(jié)。資源包為7z壓縮格式整體僅4.47MB便于下載后按主題查閱。目前已有3654人學(xué)習(xí)適合希望快速上手股票大數(shù)據(jù)分析并用于課程設(shè)計(jì)或個(gè)人量化研究參考的讀者。1. 從數(shù)據(jù)到?jīng)Q策這份股票大數(shù)據(jù)分析Python實(shí)戰(zhàn)包能解決什么用Python分析股票數(shù)據(jù)卡住大多數(shù)人的不是算法而是第一步數(shù)據(jù)從哪來(lái)、怎么清洗、怎么才能保證算出來(lái)的指標(biāo)沒(méi)被復(fù)權(quán)除權(quán)搞亂。我拆過(guò)幾個(gè)模擬項(xiàng)目后發(fā)現(xiàn)一份能落地的“股票大數(shù)據(jù)分析Python實(shí)戰(zhàn)包”真正起作用的是其中那條從爬蟲(chóng)采集、數(shù)據(jù)清洗到策略驗(yàn)證的完整鏈路。這個(gè)資源包的核心就是把“python 爬蟲(chóng)”和“股票數(shù)據(jù)分析”焊在一起讓你不用從頭去翻接口文檔、不用反復(fù)調(diào)試數(shù)據(jù)缺失的坑跟著代碼走就能把日線(xiàn)數(shù)據(jù)拉下來(lái)、算成特征、跑出信號(hào)。適合手里有Python基礎(chǔ)但沒(méi)完整做過(guò)量化數(shù)據(jù)處理的從業(yè)者也適合想拿真實(shí)行情練手Pandas和爬蟲(chóng)的同學(xué)。它解決的不是“股票會(huì)不會(huì)漲”這種玄學(xué)問(wèn)題而是“行情數(shù)據(jù)到手之后怎么處理才能用來(lái)做決策”的工程問(wèn)題——這部分恰恰是很多教程跳過(guò)的環(huán)節(jié)。2. 環(huán)境與數(shù)據(jù)獲取先把可復(fù)現(xiàn)的數(shù)據(jù)管道搭起來(lái)2.1 建立隔離的Python分析環(huán)境拿到資源包后我習(xí)慣先做一件事絕不直接往全局環(huán)境里裝依賴(lài)。原因很簡(jiǎn)單股票數(shù)據(jù)分析涉及的庫(kù)版本沖突很常見(jiàn)——Pandas 2.x 和 1.x 的 API 差異、NumPy 版本不兼容都可能讓昨天的代碼今天跑出完全不同的結(jié)果。資源包里一般會(huì)帶 requirements.txt但在安裝之前先用虛擬環(huán)境把依賴(lài)隔離出來(lái)。python -m venv stock_venv source stock_venv/bin/activate # Windows 下為 stock_venv\Scripts\activate pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple邏輯說(shuō)明venv創(chuàng)建獨(dú)立解釋器環(huán)境source激活后pip安裝的包只屬于該項(xiàng)目。用清華鏡像安裝是為了避免默認(rèn)源在大陸訪(fǎng)問(wèn)緩慢的問(wèn)題實(shí)測(cè)速度能差好幾倍。參數(shù)說(shuō)明stock_venv是虛擬環(huán)境目錄名可以按項(xiàng)目改如果資源包沒(méi)有requirements.txt手動(dòng)安裝時(shí)建議先把pandas、numpy、requests、matplotlib這四件套裝好其他的按需逐步補(bǔ)。環(huán)境裝好后先跑一下資源包自帶的入口腳本。一般是一個(gè)main.py或run_analysis.py它做的事情是驗(yàn)證數(shù)據(jù)源連通性。這個(gè)步驟很關(guān)鍵——如果數(shù)據(jù)接口的 token 過(guò)期或網(wǎng)絡(luò)不通后面所有分析都是空轉(zhuǎn)。我一般會(huì)在這個(gè)階段先確認(rèn) Python 版本股票分析相關(guān)的庫(kù)對(duì) 3.8 以下支持并不好建議用 3.9 以上。2.2 用 Pandas 對(duì)接行情接口從 Token 到 DataFrame這個(gè)實(shí)戰(zhàn)包通常以某財(cái)經(jīng)數(shù)據(jù)平臺(tái)的開(kāi)放接口作為默認(rèn)數(shù)據(jù)源代碼風(fēng)格是requests或官方 SDK 封裝。我先講講接口對(duì)接里的關(guān)鍵token。數(shù)據(jù)接口通過(guò) token 識(shí)別身份如果資源包里帶了 token 變量看下是不是寫(xiě)死在某配置文件里。我一般習(xí)慣把 token 放到環(huán)境變量里避免代碼提交到公開(kāi)倉(cāng)庫(kù)時(shí)泄露。import os import pandas as pd from requests import Session TOKEN os.getenv(STOCK_API_TOKEN) sess Session() sess.headers.update({Authorization: fBearer {TOKEN}}) def fetch_daily(code, start_date, end_date): url https://api.example-stock-data.com/daily params { ts_code: code, start_date: start_date, end_date: end_date, fields: trade_date,open,high,low,close,vol } resp sess.get(url, paramsparams, timeout10) resp.raise_for_status() data resp.json() df pd.DataFrame(data[items], columnsdata[fields]) return df邏輯說(shuō)明這里用Session復(fù)用 TCP 連接避免每次請(qǐng)求都重新握手token 從環(huán)境變量讀取不硬編碼在代碼里。timeout10是請(qǐng)求超時(shí)秒數(shù)數(shù)據(jù)量大或網(wǎng)絡(luò)差時(shí)建議調(diào)到 20。參數(shù)說(shuō)明ts_code是股票代碼參數(shù)通常格式為000001.SZ或600000.SHfields字段列表按需取別一股腦拉全字段——接口響應(yīng)體越大解析越慢token 額度也浪費(fèi)得越快。拿到DataFrame后先做兩件小事看一眼dtypes確認(rèn)trade_date被解析成了datetime64而不是字符串再看一眼isna().sum()確認(rèn)沒(méi)有整列缺失。這兩步能省后面大量排錯(cuò)時(shí)間。原始數(shù)據(jù)格式通常是{items: [], fields: []}這種結(jié)構(gòu)資源包里一般已經(jīng)封裝好了解析函數(shù)但你要知道它內(nèi)部做了什么——我見(jiàn)過(guò)不少人拿到的列是字符串時(shí)間排序按字典序排結(jié)果圖全亂了。2.3 增量更新與歷史全量數(shù)據(jù)完整性的保障股票數(shù)據(jù)接口最麻煩的問(wèn)題不是拉一次而是“怎么持續(xù)更新”。比如一個(gè)模擬項(xiàng)目的目標(biāo)是分析最近三年的日線(xiàn)數(shù)據(jù)首次全量拉取可能要跑很久之后每天只需補(bǔ)充最新一天的數(shù)據(jù)。def update_daily(code, csv_pathdaily.csv): try: old pd.read_csv(csv_path, parse_dates[trade_date]) except FileNotFoundError: old pd.DataFrame() latest old[trade_date].max() if len(old) else None end pd.Timestamp.today().strftime(%Y%m%d) start (latest pd.Timedelta(days1)).strftime(%Y%m%d) if latest else 20200101 new fetch_daily(code, start, end) merged pd.concat([old, new], ignore_indexTrue).drop_duplicates(subset[trade_date]).sort_values(trade_date) merged.to_csv(csv_path, indexFalse) return merged邏輯說(shuō)明這一段先讀本地已有 CSV取最大日期作為增量更新的起點(diǎn)避免重復(fù)拉取。drop_duplicates按trade_date去重防止某次請(qǐng)求超時(shí)重試后產(chǎn)生重復(fù)行。參數(shù)說(shuō)明csv_path是本地緩存文件路徑如果你改用數(shù)據(jù)庫(kù)比如 SQLite邏輯完全一樣只是讀寫(xiě)那兩行換成語(yǔ)句。start用字符串拼接是因?yàn)榻涌谕ǔR骙YYYMMDD格式Pandas 的Timestamp不能直接傳。增量更新的好處不止是省流量——更重要的是保持本地?cái)?shù)據(jù)和接口狀態(tài)一致。如果某天接口的數(shù)據(jù)源本身出了問(wèn)題比如某只股票停牌當(dāng)天沒(méi)返回記錄增量邏輯不會(huì)主動(dòng)發(fā)現(xiàn)。所以我一般每周做一次全量校驗(yàn)把本地最后一行的trade_date和接口最新的trade_date對(duì)比差超過(guò)一個(gè)交易日就觸發(fā)重新拉取。資源包里這個(gè)邏輯可能寫(xiě)得比較簡(jiǎn)單建議拿到后按實(shí)際需求補(bǔ)強(qiáng)。3. 爬蟲(chóng)實(shí)戰(zhàn)把請(qǐng)求頻率、斷點(diǎn)續(xù)爬和字段抽取做成工程3.1 為什么直接爬網(wǎng)頁(yè)通常不是好選擇“python 爬蟲(chóng)”這個(gè)詞容易讓人想到爬網(wǎng)頁(yè) HTML 然后解析表格但在股票數(shù)據(jù)場(chǎng)景里直接爬網(wǎng)頁(yè)是最差的選擇原因有兩點(diǎn)。第一財(cái)經(jīng)網(wǎng)站的頁(yè)面結(jié)構(gòu)變動(dòng)頻繁今天能解析的表格明天可能就換了 CSS 類(lèi)名維護(hù)成本極高。第二大量股票數(shù)據(jù)頁(yè)面是通過(guò) JavaScript 異步加載的直接requests.get拿到的 HTML 里根本沒(méi)有數(shù)據(jù)要么用 Selenium 這種重型工具要么破解 XHR 接口地址兩個(gè)方向都是血淚教訓(xùn)。但這個(gè)資源包里一般不會(huì)只用官方接口因?yàn)橛行└哳l因子和盤(pán)中數(shù)據(jù)接口不給普通用戶(hù)開(kāi)放。這時(shí)候就要寫(xiě)爬蟲(chóng)去抓公開(kāi)的網(wǎng)頁(yè)接口——注意是抓 JSON 接口不是抓 HTML。常見(jiàn)做法是用開(kāi)發(fā)者工具打開(kāi)任意財(cái)經(jīng)網(wǎng)站的數(shù)據(jù)頁(yè)在“網(wǎng)絡(luò)”標(biāo)簽里過(guò)濾XHR請(qǐng)求找到真正返回?cái)?shù)據(jù)的那條鏈接。它通常是個(gè)帶一堆參數(shù)的 GET 請(qǐng)求返回的是 JSON解析起來(lái)比 HTML 安穩(wěn)得多。3.2 用 Requests Session 封裝一個(gè)行情讀取器抓 JSON 接口的爬蟲(chóng)核心就三件事帶好 Headers、控制頻率、做好重試。我自己封裝的時(shí)候是這么寫(xiě)的import time import random from requests import Session class MarketReader: def __init__(self, base_url, min_interval1.0): self.sess Session() self.sess.headers.update({ User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64), Referer: https://example-finance-site.com, Accept: application/json, text/plain, */* }) self.base_url base_url self.min_interval min_interval self._last_req 0 def get_json(self, path, params): now time.time() wait self._last_req self.min_interval - now if wait 0: time.sleep(wait random.uniform(0.1, 0.5)) resp self.sess.get(f{self.base_url}{path}, paramsparams, timeout15) self._last_req time.time() resp.raise_for_status() return resp.json() def fetch_kline(self, symbol, perioddaily): data self.get_json(/api/kline, { symbol: symbol, period: period, limit: 1000 }) records data.get(data, {}).get(items, []) return [{date: r[0], close: r[2], volume: r[5]} for r in records]邏輯說(shuō)明min_interval用來(lái)控制兩次請(qǐng)求的最小間隔默認(rèn) 1 秒對(duì)多數(shù)公開(kāi)接口都?jí)蛴?。random.uniform加一個(gè)隨機(jī)抖動(dòng)避免請(qǐng)求節(jié)奏太規(guī)律被限流。_last_req記錄上一次請(qǐng)求時(shí)間用于計(jì)算是否需要等待。參數(shù)說(shuō)明這里的period支持daily和weekly接口不同參數(shù)名可能不同具體要看抓到的 XHR 請(qǐng)求定義。很多翻車(chē)的爬蟲(chóng)都是因?yàn)闆](méi)帶Referer或者UA太假被拒絕。這個(gè)封裝里 UA 用的是 Chrome 的標(biāo)準(zhǔn)格式Referer 指向頁(yè)面地址——這兩個(gè)缺失或不對(duì)接口大概率返回 403。帶上之后通常能順利拿到 JSON。實(shí)際運(yùn)行時(shí)建議把timeout設(shè)大一點(diǎn)有些接口在拉長(zhǎng)周期數(shù)據(jù)時(shí)服務(wù)端要算很久15 秒比較穩(wěn)妥。3.3 多線(xiàn)程拉取與斷點(diǎn)續(xù)爬應(yīng)對(duì)大范圍歷史數(shù)據(jù)單線(xiàn)程拉全量歷史數(shù)據(jù)很慢。比如你要拉滬深兩市共 5000 多只股票的周線(xiàn)數(shù)據(jù)單線(xiàn)程按 1 秒 1 次算要跑一個(gè)多小時(shí)而且中間斷一次就前功盡棄。資源包里一般會(huì)帶多線(xiàn)程方案但我要提醒一句多線(xiàn)程不是越多越好接口限流是按 token 或 IP 算的開(kāi) 20 個(gè)線(xiàn)程如果被限流反而比單線(xiàn)程更慢。我一般把線(xiàn)程數(shù)壓在 5 到 8 個(gè)同時(shí)加一個(gè)進(jìn)度記錄文件做到“斷點(diǎn)續(xù)爬”。import threading import os import json from queue import Queue def worker(q, results, lock): while not q.empty(): try: symbol q.get(timeout1) data reader.fetch_kline(symbol, perioddaily) with lock: results[symbol] data done_list.append(symbol) save_progress(done_list) except Exception as e: print(ffailed: {symbol}: {e}) finally: q.task_done() def save_progress(done_list): with open(progress.json, w) as f: json.dump(done_list, f) q Queue() all_symbols load_symbols(symbols.txt) # 每行一個(gè)股票代碼 for s in all_symbols: q.put(s) done_list load_progress() if os.path.exists(progress.json) else [] results {} lock threading.Lock() for _ in range(6): t threading.Thread(targetworker, args(q, results, lock)) t.start() q.join()邏輯說(shuō)明Queue是線(xiàn)程安全的多個(gè) worker 從隊(duì)列里取任務(wù)不會(huì)重復(fù)處理。lock保護(hù)results字典和progress.json的寫(xiě)入避免多線(xiàn)程同時(shí)寫(xiě)文件導(dǎo)致 JSON 損壞。save_progress每完成一個(gè)股票就記錄一次程序崩了之后重新運(yùn)行時(shí)從done_list里剔除已完成項(xiàng)即可。參數(shù)說(shuō)明symbols.txt是股票代碼清單每行一個(gè)如果資源包自帶清單更好沒(méi)有的話(huà)可以用akshare或接口的stock_basic接口拉取。這里有一個(gè)重要的點(diǎn)斷點(diǎn)續(xù)爬的前提是“寫(xiě)盤(pán)夠快且夠頻繁”。save_progress每次完整重寫(xiě) JSON 文件在 5000 只股票的場(chǎng)景下文件不超過(guò) 100KB開(kāi)銷(xiāo)可以忽略。如果數(shù)據(jù)量更大建議改成 SQLite 記錄進(jìn)度。多線(xiàn)程踩坑的重點(diǎn)是千萬(wàn)別讓兩個(gè)線(xiàn)程同時(shí)寫(xiě)同一個(gè)文件lock就是干這個(gè)用的。另外q.empty()判斷在并發(fā)下不完全可靠但任務(wù)分發(fā)完成后消費(fèi)者不會(huì)再往里放任務(wù)所以這里的場(chǎng)景下夠用。4. 因子計(jì)算與預(yù)處理讓原始行情變成可分析的特征4.1 復(fù)權(quán)因子處理避免算出假信號(hào)原始行情里的close是未復(fù)權(quán)價(jià)遇到分紅送股價(jià)格會(huì)出現(xiàn)斷崖式跳空。如果沒(méi)有做復(fù)權(quán)處理任何基于價(jià)格的指標(biāo)都會(huì)失真。最常見(jiàn)的坑是某只股票 10 送 10除權(quán)日價(jià)格從 20 元變成 10 元均線(xiàn)系統(tǒng)會(huì)“檢測(cè)”出一個(gè)巨大下跌信號(hào)——但實(shí)際上這只是權(quán)益變動(dòng)不是市場(chǎng)下跌。資源包里的數(shù)據(jù)如果來(lái)自統(tǒng)一接口一般會(huì)提供adj_factor字段或qfq前復(fù)權(quán)選項(xiàng)。前復(fù)權(quán)會(huì)把歷史價(jià)格按最新股本調(diào)整保證歷史走勢(shì)連續(xù)。處理邏輯是把原始價(jià)格乘上復(fù)權(quán)因子再除以最新因子值或者直接用接口的adj參數(shù)。我拿到數(shù)據(jù)后會(huì)先做一個(gè)“除權(quán)跳空檢測(cè)”def detect_gap(df, threshold0.2): df df.sort_values(trade_date) pct df[close].pct_change() gap_days df[pct.abs() threshold].index.tolist() return gap_days邏輯說(shuō)明pct_change計(jì)算相鄰交易日的漲跌幅閾值為 20%。如果某天漲跌幅絕對(duì)值超過(guò) 20%注冊(cè)制股票除外幾乎可以斷定是未復(fù)權(quán)數(shù)據(jù)里的除權(quán)跳空。注意這個(gè)檢測(cè)只用于輔助判斷數(shù)據(jù)質(zhì)量不能替代正式的復(fù)權(quán)因子處理。參數(shù)說(shuō)明threshold按市場(chǎng)調(diào)整A 股普通股票設(shè) 0.2 夠用科創(chuàng)板/創(chuàng)業(yè)板個(gè)股日內(nèi)波動(dòng)大可以調(diào)到 0.3但再高就可能漏檢。4.2 高頻與低頻數(shù)據(jù)的重采樣對(duì)齊股票分析中經(jīng)常遇到不同頻率的數(shù)據(jù)要合并——比如把日線(xiàn)數(shù)據(jù)和分鐘線(xiàn)數(shù)據(jù)對(duì)齊到周線(xiàn)。Pandas 的resample能搞定但有個(gè)隱含陷阱交易日的“日”和自然日的“日”不是一回事。如果用resample(W)按自然周聚合法定節(jié)假日會(huì)導(dǎo)致某些周只有 2 個(gè)交易日周均線(xiàn)跟交易所口徑對(duì)不上。正確做法是先用交易日歷生成有效交易日的DatetimeIndex再對(duì)齊import pandas as pd def resample_trading(df, ruleW-FRI): df df.set_index(trade_date) df df.resample(rule).agg({ open: first, high: max, low: min, close: last, vol: sum }).dropna() return df邏輯說(shuō)明W-FRI表示按周聚合錨定在周五一周內(nèi)的交易日數(shù)據(jù)合并到周五這個(gè)索引上。open取周內(nèi)第一個(gè)交易日的開(kāi)盤(pán)價(jià)close取最后一個(gè)的收盤(pán)價(jià)high取周內(nèi)最高low取最低vol求和。dropna去掉沒(méi)有交易數(shù)據(jù)的自然周。參數(shù)說(shuō)明如果數(shù)據(jù)源沒(méi)有交易日歷字段可以用exchange_calendars庫(kù)生成或者直接用df.index里去重后的日期做后續(xù)匹配。這里容易翻車(chē)的點(diǎn)是resample默認(rèn)是按日歷日頻率遇到周末和節(jié)假日會(huì)創(chuàng)建空數(shù)據(jù)行dropna才能清掉。但注意agg字典里的first和last在空數(shù)據(jù)上會(huì)返回NaN不要用fillna去填否則會(huì)把不存在的交易周也算進(jìn)去。4.3 構(gòu)造常用技術(shù)指標(biāo)的 Pandas 實(shí)現(xiàn)資源包最實(shí)用的一部分就是指標(biāo)計(jì)算代碼。均線(xiàn)、RSI、MACD 這類(lèi)常用指標(biāo)的 Pandas 實(shí)現(xiàn)并不復(fù)雜難在邊界條件。我以 RSI 為例——它經(jīng)常被當(dāng)作買(mǎi)賣(mài)信號(hào)但不同平臺(tái)的計(jì)算差異導(dǎo)致結(jié)果不同def compute_rsi(close, period14): delta close.diff() gain delta.clip(lower0) loss -delta.clip(upper0) avg_gain gain.rolling(windowperiod, min_periodsperiod).mean() avg_loss loss.rolling(windowperiod, min_periodsperiod).mean() rs avg_gain / avg_loss rsi 100 - (100 / (1 rs)) return rsi邏輯說(shuō)明diff計(jì)算相鄰收盤(pán)價(jià)差clip(lower0)把負(fù)值歸零得到上漲幅度clip(upper0)取負(fù)并取絕對(duì)值得到下跌幅度。rolling(windowperiod, min_periodsperiod)要求窗口內(nèi)至少 14 個(gè)有效值前 13 個(gè)交易日輸出NaN。參數(shù)說(shuō)明period是回看天數(shù)默認(rèn) 14 是經(jīng)典參數(shù)有的平臺(tái)用 SMMA平滑移動(dòng)平均而非簡(jiǎn)單平均算avg_gain這是不同平臺(tái) RSI 數(shù)值不一致的主要原因。如果做跨平臺(tái)策略校驗(yàn)務(wù)必確認(rèn)對(duì)方用的是哪種平滑方式。這里有一個(gè)很玄學(xué)的點(diǎn)RSI 的公式里avg_loss如果為 0連續(xù)上漲rs會(huì)變成無(wú)窮大rsi會(huì)返回NaN。資源包里如果沒(méi)處理這個(gè)邊界回測(cè)時(shí)就會(huì)出現(xiàn)信號(hào)丟失。修正方法很簡(jiǎn)單rs計(jì)算前先把a(bǔ)vg_loss為 0 的行替換為極大值。我經(jīng)手過(guò)的模擬項(xiàng)目X里這個(gè)坑導(dǎo)致周末回測(cè)結(jié)果和實(shí)盤(pán)完全對(duì)不上查了半天才發(fā)現(xiàn)是 RSI 計(jì)算在極端行情下靜默失敗。拿到資源包后建議先跑一遍內(nèi)置的自檢函數(shù)確認(rèn)指標(biāo)邊界條件都處理過(guò)。5. 常見(jiàn)問(wèn)題與排查這五類(lèi)錯(cuò)我?guī)缀趺看味紩?huì)踩一遍5.1 現(xiàn)象回測(cè)結(jié)果里出現(xiàn)巨額收益但實(shí)際走勢(shì)沒(méi)有原因數(shù)據(jù)里包含了未復(fù)權(quán)價(jià)格或者復(fù)權(quán)因子計(jì)算錯(cuò)誤。某只股票經(jīng)歷多次分紅后未復(fù)權(quán)價(jià)格長(zhǎng)期看起來(lái)“陰跌不止”但策略按價(jià)格差算收益時(shí)會(huì)出現(xiàn)一個(gè)假的大額盈利。解決拿到數(shù)據(jù)后先做除權(quán)跳空檢測(cè)見(jiàn) 4.1再對(duì)應(yīng)復(fù)權(quán)因子檢查。資源包如果帶了復(fù)權(quán)接口直接調(diào)用接口的adj參數(shù)拉前復(fù)權(quán)數(shù)據(jù)不要自己在本地做除法——除數(shù)用錯(cuò)一步全錯(cuò)。5.2 現(xiàn)象K 線(xiàn)圖的日期明明是周一卻顯示的是周五的數(shù)據(jù)原因數(shù)據(jù)的時(shí)區(qū)是 UTC世界標(biāo)準(zhǔn)時(shí)間或者美東時(shí)間而本地日期是北京時(shí)間。某些國(guó)際數(shù)據(jù)接口返回的trade_date帶時(shí)區(qū)偏移to_pandas后沒(méi)做tz_convert導(dǎo)致日期整體偏移。特別是凌晨時(shí)段的數(shù)據(jù)UTC 日期比北京時(shí)間早 8 小時(shí)周末和交易日的對(duì)齊全亂。解決拉數(shù)據(jù)后統(tǒng)一執(zhí)行df[trade_date] df[trade_date].dt.tz_convert(Asia/Shanghai)或者在讀取時(shí)指定parse_dates并傳入utcTrue。如果接口返回的是無(wú)時(shí)區(qū)字符串但實(shí)際代表北京時(shí)間直接解析即可千萬(wàn)別畫(huà)蛇添足。5.3 現(xiàn)象爬蟲(chóng)跑到一半開(kāi)始大量返回 403 或 HTTP 429原因請(qǐng)求頻率太快或者 UA/Referer 被目標(biāo)服務(wù)器識(shí)別為“非正常訪(fǎng)客”。很多公開(kāi)接口的限流策略是按 IPUA 組合計(jì)算的即使你單線(xiàn)程運(yùn)行如果請(qǐng)求間隔小于 0.5 秒也可能觸發(fā)封禁。解決把min_interval調(diào)到 1 秒以上UA 換成真實(shí)的 Chrome UA 字符串Referer 設(shè)為頁(yè)面地址。如果已經(jīng)被封等 10 分鐘到半小時(shí)再試不要立刻重啟爬蟲(chóng)——那只會(huì)讓封禁時(shí)間延長(zhǎng)。我在模擬項(xiàng)目X中就是沒(méi)注意_last_req的初始值為 0導(dǎo)致第一次請(qǐng)求前沒(méi)有等待幾百次請(qǐng)求后直接被斷連。5.4 現(xiàn)象回測(cè)優(yōu)化的策略在實(shí)盤(pán)里完全失效原因前視偏差。最常見(jiàn)的是用當(dāng)天的收盤(pán)價(jià)算出信號(hào)然后當(dāng)天就成交——但真實(shí)情況下你得等收盤(pán)后才能知道當(dāng)天的收盤(pán)價(jià)交易指令最早也只能在次日開(kāi)盤(pán)執(zhí)行。數(shù)據(jù)在時(shí)間軸上“偷看”了未來(lái)信息回測(cè)自然好看實(shí)盤(pán)自然翻車(chē)。解決信號(hào)生成后必須shift(1)讓信號(hào)延遲一天生效或者嚴(yán)格按“次日開(kāi)盤(pán)價(jià)”成交。資源包如果自帶回測(cè)引擎先確認(rèn)它的成交價(jià)格是不是用了close.shift(1)。這個(gè)是最隱蔽的坑很多初學(xué)者完全意識(shí)不到。5.5 現(xiàn)象兩次運(yùn)行同一段代碼結(jié)果出現(xiàn)細(xì)微差異原因浮點(diǎn)精度。Pandas 的rolling.mean()用累加方式計(jì)算大數(shù)據(jù)量下會(huì)出現(xiàn)微小的精度差異另外resample聚合時(shí)多線(xiàn)程或并行模式下可能有誤差。解決做關(guān)鍵價(jià)格比較時(shí)用round(..., 6)或者用np.isclose做比較判斷。數(shù)據(jù)量在幾萬(wàn)行時(shí)這個(gè)誤差可能只有 1e-10但累積到信號(hào)判斷的閾值邊緣就可能造成一次交易的開(kāi)與不開(kāi)。不要相信“浮點(diǎn)誤差是小事”在策略回測(cè)里這就是大事。6. 從靜態(tài)分析到簡(jiǎn)單回測(cè)驗(yàn)證你的股票策略是否真的可靠6.1 用向量化回測(cè)快速驗(yàn)證 MA 均線(xiàn)策略資源包加載了干凈數(shù)據(jù)、算好了指標(biāo)之后最值得做的一件事就是跑一個(gè)最小可用的回測(cè)驗(yàn)證數(shù)據(jù)的時(shí)序邏輯是否自洽。我常用雙均線(xiàn)策略做“冒煙測(cè)試”——如果連這個(gè)策略都跑不出合理結(jié)果那數(shù)據(jù)或指標(biāo)一定有問(wèn)題。def backtest_ma(df, short5, long20): df df.copy().sort_values(trade_date) df[ma_short] df[close].rolling(short).mean() df[ma_long] df[close].rolling(long).mean() df[signal] (df[ma_short] df[ma_long]).astype(int) df[position] df[signal].shift(1) # 次日開(kāi)盤(pán)執(zhí)行 df[ret] df[close].pct_change() df[strategy_ret] df[position] * df[ret] df[cum_ret] (1 df[strategy_ret]).cumprod() - 1 return df邏輯說(shuō)明signal是當(dāng)日收盤(pán)后的判斷position用shift(1)延遲到次日生效避免前視偏差。strategy_ret是持倉(cāng)收益乘以當(dāng)日漲跌幅cumprod累積得到凈值曲線(xiàn)。參數(shù)說(shuō)明short和long分別是短、長(zhǎng)均線(xiàn)窗口5和20是經(jīng)典參數(shù)。注意這里沒(méi)有考慮手續(xù)費(fèi)和漲跌停限制結(jié)果偏樂(lè)觀(guān)但作為冒煙測(cè)試足夠。跑完看兩件事第一回測(cè)期末的累計(jì)凈值是不是在合理區(qū)間——如果翻了 100 倍得懷疑數(shù)據(jù)或邏輯第二position序列有沒(méi)有頻繁切換——一段趨勢(shì)行情里切了十幾次多半是數(shù)據(jù)有重復(fù)行或時(shí)間戳混亂。這兩點(diǎn)過(guò)了才放心做更復(fù)雜的策略驗(yàn)證。6.2 用回測(cè)結(jié)果反推數(shù)據(jù)質(zhì)量回測(cè)里經(jīng)常會(huì)發(fā)現(xiàn)隱藏的數(shù)據(jù)質(zhì)量問(wèn)題。比如某天close是 0pct_change會(huì)變成無(wú)窮大導(dǎo)致整條累積凈值線(xiàn)直接斷裂比如停牌日的價(jià)格沒(méi)有NaN而是重復(fù)了上一交易日導(dǎo)致rolling(5)計(jì)算出看似正常的均線(xiàn)但實(shí)際少了一天。我一般會(huì)在回測(cè)前加一個(gè)數(shù)據(jù)質(zhì)量斷言assert df[close].isna().sum() 0, 存在空收盤(pán)價(jià) assert (df[close] 0).sum() 0, 存在非正收盤(pán)價(jià) assert df[vol].dtype in (int64, float64), 成交量類(lèi)型異常這三條斷言能把大部分臟數(shù)據(jù)擋在回測(cè)之前。資源包如果自帶了內(nèi)置檢查雙擊運(yùn)行一下即可如果沒(méi)有建議自己加上成本極低收益極高。做完這個(gè)再跑策略心里踏實(shí)得多。6.3 可視化呈現(xiàn)把信號(hào)與凈值曲線(xiàn)畫(huà)出來(lái)回測(cè)結(jié)果最終要看圖才能定位問(wèn)題。我習(xí)慣把收盤(pán)價(jià)、均線(xiàn)、買(mǎi)賣(mài)信號(hào)點(diǎn)和凈值曲線(xiàn)畫(huà)在一張圖上一眼就能看出信號(hào)是否出現(xiàn)在合理的位置——如果買(mǎi)點(diǎn)全出現(xiàn)在大漲之后而不是啟動(dòng)之初說(shuō)明信號(hào)邏輯有未來(lái)函數(shù)或滯后問(wèn)題。import matplotlib.pyplot as plt def plot_strategy(df): fig, ax plt.subplots(2, 1, figsize(12, 8), sharexTrue) ax[0].plot(df[trade_date], df[close], labelClose, lw1) ax[0].plot(df[trade_date], df[ma_short], labelfMA{5}, lw1) ax[0].plot(df[trade_date], df[ma_long], labelfMA{20}, lw1) buy_idx df[df[signal].diff() 1].index sell_idx df[df[signal].diff() -1].index ax[0].scatter(df.loc[buy_idx, trade_date], df.loc[buy_idx, close], marker^, colorr, s50) ax[0].scatter(df.loc[sell_idx, trade_date], df.loc[sell_idx, close], markerv, colorg, s50) ax[0].legend() ax[1].plot(df[trade_date], df[cum_ret], labelStrategy Return, lw1) ax[1].legend() plt.tight_layout() plt.show()邏輯說(shuō)明signal.diff() 1表示信號(hào)從 0 變成 1 的轉(zhuǎn)折點(diǎn)也就是買(mǎi)入信號(hào)diff() -1是賣(mài)出信號(hào)。從信號(hào)點(diǎn)和價(jià)格的位置關(guān)系能直觀(guān)判斷是否有滯后或超前。參數(shù)說(shuō)明figsize控制圖幅buy_idx和sell_idx分別存儲(chǔ)買(mǎi)賣(mài)點(diǎn)索引。如果信號(hào)點(diǎn)全部出現(xiàn)在均線(xiàn)交叉后的第 N 根 K 線(xiàn)說(shuō)明shift層級(jí)可能不對(duì)?;販y(cè)不是終點(diǎn)而是數(shù)據(jù)質(zhì)量的試金石。從那以后我每次拿到新的數(shù)據(jù)資源都強(qiáng)制走一遍“跳空檢測(cè) → 時(shí)區(qū)對(duì)齊 → 冒煙策略 → 畫(huà)圖目測(cè)”這個(gè)流程不跑完這一步就不碰后續(xù)的任何高級(jí)模型。這套流程幫我擋下了至少三次因?yàn)閿?shù)據(jù)沒(méi)復(fù)權(quán)導(dǎo)致的假信號(hào)也讓我少走了很多彎路。希望這份實(shí)戰(zhàn)筆記里提到的坑和參數(shù)能讓你在跑自己的股票數(shù)據(jù)分析項(xiàng)目時(shí)更順一點(diǎn)。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美激情综合| 中日韩久久久免费看| 亚洲欧美在线观看无码| 人妻精品一区二区三区| 中文字幕第23区| 特污免视频| 成年女人黄网站| 精品九区| 中文字幕乱码在线| 97欧美精品| 激情婷婷丁香网| 综合亚洲情色| 夜夜一区二区| 久久熟女人| www.av在线观看| 一级做a爰片性色毛片久久| 强奸乱伦大香蕉网| 人人操,操人人| 影音先锋每日最新资源在线观看 | 欧日韩在线观看| 五月婷婷六月天| 精品性爱一二三区| 无码高清专| 国产精品福利资源在线尤物| 国产女人和拘做爰视频| 超碰精品国产无码| 日韩性爱一级片| 亚洲综合20p| 国产白丝网站| 精品视频一二三中文| 91久热| 东京热熟女亚洲视频网站| 日本三级日本三级三级人妇四虎| av婷婷色网| 女同在线视频一区| 亚洲精品97中文字幕| 97超级欧美| 久久超碰大香蕉| 日本精品性生活久久久| 久久6热精品99视频| 伦理日韩国产久久| 中文字幕日韩情色| 97精品一区二区视频在线观看| 国产一级内射无挡观看| 91操人| 99热| 精品国产一区二区三区久久久蜜臀| 蜜臀av在线播放一区二区三区| 综合婷婷| 亚州色站 日韩电影| 亚洲第一色页夜| 欧美天天综合站| 狠狠干2020| 超碰97久| 国产欧美精选激情视频| 欧美做爰无码A片视频| 91粉嫩萝控精品福利网站_精品影音先锋国 | 一本色道综合久久欧美| 天天色黄色影院天天操| 黄aaaaaaaaaaaaaaaaaa色网站 | 久久精品女同亚洲女同13| 91日日夜夜| 97ai亚洲| 一道α片欧美| 日韩视频啪啪| 天天综合AV| 97久久超碰国产网站| 国产精品。| 欧美第五页| 久久久久九九九九| 日日日色色色色色| av三级电影在线播放| 欧美精品一区二区少妇免费A片 | 91在线丝袜视频| 中精品一区二区三区| 亚州男人天堂| 亚洲啪啪视频一区二区| 屌色在线97视频| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 中文字幕文字幕无码一区二区三区电影99| 麻豆天美AV传媒第一页| 国产欧美日本亚洲精品 | 综合网少妇| 日韩成年人性爱视频| 黄色AAAAAAAAAAA大片| 综合色图区| 亚洲熟女乱熟乱熟妇综合网二区| 91中文字幕在线观看| 免费人成在线观看网站品爱网| 色青青久久影视| 国产女上位好爽在线| 嗯嗯啊啊的视频| 天天综合网日韩| 国产精品宅男免费| 波多野42部激情无码喷潮| 密乳无码| 欧美久久婷婷| 男女做爰猛烈动高潮A片免费应用 少妇厨房愉情理伦片bd在线观看 不卡中文字幕aⅴ在线 | 少妇与黑人高潮在线| 欧美淫乱视频| 亚洲图片欧洲图片aⅴ| 久插不卡| 国产家庭乱伦表演| 黄页18禁| 久久精品人妻一区| 五月丁香六月婷| 超碰97综合| 欧美亚洲日韩人妻在线观看| 91精品人| 少妇毛片久久| 成人免费不卡在线视频| 欧洲站一级二级三级h| 国产精品区在线12p| 天天看特黄的免费网站| 久久久久久一日韩字幕无码| 国精综合一二三区影视| AV和黑人在线播放| 老司机免费视频在线91| 中国一区二区亚洲人妻| 99re6国产精品99re| 精品久久久久av影院| 美女毛片999| 操我啊啊啊啊啊| 亚洲中文字幕在现观看| 欧美另类自拍 | 欧美一级A片在线看视频性色| 试看福利| 亚洲一区二区精品福利| 大香蕉2017| 久99久视频| 中文不卡视频| 操亚州| 高清无码一区二区三区| 国产久久一区二区| 欧美综合区| 国产精品丝袜在线| 欧美精品另类人妖xxxx| 肉动漫无遮挡h在线观看| 九九热免费国产视频婷婷伊人| 高潮精品| 日韩精品怡红院| 男人的天堂一区三区| 亚洲女优有码无码高清| 大鸡巴久久久| 午夜一区二区三区国产| 久久男人| 大香蕉十区| 隔壁邻居波多野结衣中文字幕| 伊人伊人LD| 熟女精品va中文字幕| 中日韩久久久免费看| 欲香欲色综合天天伊人| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 天天激情综合站| 91爱看| 香蕉久久国产AV一区二区| 91亚洲欧美激情| 美女在线H91| 日韩AV一起草| 在线国产福利网址导航| 青青青在线高清视频在线一二三四区 | 玖玖超碰熟| 亚洲情色电影网| 精品亚洲国产成人精品| 国产综合久久久麻桃个| 色97国产69香蕉| 在线啊啊啊啊| 97电影院超碰| 国产高清成人mv在线观看| 天堂性色| 欧美高潮| 丝袜天堂| 一区二区三区国产精产| 九久9精品| 成人无码在线超碰网| 综合亚洲网| 国产精品丝袜久久亚洲不卡| 女一区二区| 91超级碰碰| 人人操人人干网页| 无码免费在线观看黄色片| 欧洲色综合| 欧美性暴力猛交XXXX | 大香蕉99999| 熟女精品va中文字幕| 亚洲中文字幕在现观看| 亚洲情色视频| 欧美97色| 欧美se综合| 日日夜夜模| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 后入式999| 久久超碰、| 久久国色天香香蕉| 人妻啊啊人妻啊| 国产吞精a级片激情电影| 国产欧美精选自拍一区| 人人看欧美性爱| 一道α片欧美| AV一区观看| 亚洲国产成人7777| 亚洲精品免费中文字幕| 亚洲精品一二牛牛| 国产黄色在线播放观看| 中文字幕乱码人妻二区三区| 国产一区二区三三视频| 高清国产性猛交xxxx乱大交| 黄在线| 成人激情无码在线视频| 亚洲精美粉嫩嫩泬在线观看| 再深点灬舒服灬太大了添视频| 精品无码一区二区三区| 国产亚洲性生活视频播放| 国产午夜精品理论片一二三区区| 久久久久久久伊人精品| 强奸乱伦大香蕉网| 天天综合色| 午夜精品99久久久久传媒| 久久婷婷国产一区二区色| 黄色网址久久精品欧美喷水| 最新加勒比丝袜在线| 99热这里只有精| 一区二区三区男女操逼黄色小电影| 天天摸夜夜摸| 天堂射| 亚洲在钱| 久久午夜色播影院免费高清| 国产精品网址| 黄色小视频日本txt| 超碰成人最新最好看| 久久亚洲婷婷| 日韩影片中文字幕一区二区三区| 是还免费视频1727我| 国产外初女出血视频| 97国产|免费| 翔田千里无码一区| 日本在线播放不卡一区| 射丝袜高跟鞋99| 青青草精玖玖69精品| 美女让帅哥通她小鸡鸡| 96久久久久| 亚洲**2021在线观看| 国产中文精品一区二区在线观看| 日本三级中国三级99人妇网站| 999久久久九| 最新精品久久蜜桃 | 免费视频观看60秒| 国产女s强制榨精视频| 91小视频| 亚洲 欧美 另类 日韩 人妻一区| 天天干人人乐| 天天视频综合在线观看视频| 欧洲综合视频| 99精品丰满人妻无码| 国产一级内射高清视频| 91在线无码精品秘 软件| 啊啊啊啊视频免费| 精品少妇99| 亚洲天堂中文字| 91久操| 天天舔天天日天天射| 狠狠超| 操逼视频免费日韩无码| 91色爽欧美| 欧洲综合色图| 一块操欧美| 亚洲图片 激情小说| 9Ⅰ超碰| 国产亚洲国产超碰| 97精品国产精品免费观看| 神马午夜久久| 欧美亚洲综合色| 中文熟女五十乱码在线| 夜夜操青青草| 欧美综合在线91| 亚洲美女AV无码| 日本久久99| 日日嗨AV一区二区夜夜| AAAAAAAAA黄片| 日日橹狠狠爱欧美超碰| a亚洲欧美色欲| 五月天伊人| 丰满熟妇大乳做爰| 91婷婷| 天天综合网亚洲综合网| 国内自拍 日韩激情 99| 任你干在线视频| 亚洲熟女性高潮久久久| 日本五十路在线| 自怕偷自怕亚洲精品| 麻豆国产av网| 日韩色欲久久一二三四区| 久久久久密臀一区二区| 这里只有精品视频在线观看麻豆| 国产精品色哟哟| 国产高清视频无码在线| 99re95| 日本成人A片网站| 丁香婷婷啪啪| 亚洲蜜臀懂色| 五月激情小说| 国产强奸无码乱伦| 97 国产一区| 性色av大全| 二级久久网| 亚洲第一狼人丝袜美女另类| 狠狠躁天天躁日日躁97| 97色婷| 日本欧美不卡| 精品国产一区二区久久| 欧美一区二区三区入口| 风骚少妇视频中文字幕| 色狠狠色| 啪啪AV导航| 国产精品夜夜夜| 99视频只有精品| 一起草高清无码| 欧美日韩国产电影| 日本日皮视频逼| 欧美精品97| 91撸色网 玖玖网 欧美| 国产 三级自拍| 欧美激情一区| 涩涩久久精品| 久久久久日本视| 韩三级a视频在线观看| 免费99精品国产自在在线| 久久久五月天| 国产一区二区三区免费视频在性观看 | 久99| 综合欧美日韩在线观看| 欧美一区二区三区互相| 亚洲精品97p| 日本天天人人狠狠在线日美女| 亚洲欧美日韩免费电影| 人妻天堂网| 久久久久久中文版| 啊啊啊好湿国产一二| 日本成人电影资源网| 97天天| 日韩无码AB| 亚码激情| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 国产精品乱码久久久久久久久久久久| 免费操逼视频下载| 最新av中文字幕高清| 大粗鳼巴久久久久| 色呦色呦色精品| 美女黄页| 日本欧美成人片AAAA| 亚洲中文国际强奸字幕| 国产强奸AV在线| 美欧色综合| 熟妇激情| 亚洲清纯唯美| 欧美青青视频| 青青青青草av在线观看| 97中文天堂| 99视频只有精品| 久久一级无码精品毛片6| 五月天婷婷在线看| 狠狠操,使劲操| 久午视频| 日日摸日日碰夜夜爽视频| 国产和美国毛片| 青青草啪啪网| 99RE在线视频精品,这里只有精品| 天天爽天天操| 久久久中文| 91久久久久久久久18| 强歼乱伦资源网| 日韩中文字幕人妻视频| 一级黄色性爱A级片| 四虎午夜影院| 人妻一二三区| 福利视频一区二区微拍| 国产AV激情无码久久无码| 日本1区2区不卡视频| 青青操网| 国产又猛又粗又爽又黄| 中文字幕一区二区三区字幕| 欧美gv在线观看| 日韩免费av片高清无码| 亚洲高清无毛一区二区| 国产一区二区三三视频| 99久久精品无码一区二区| 亚洲中文日韩欧美大香蕉视频| 在线观看免费视频国产| 人成午夜免费大片| 99热免费| 亚洲中文字幕乱码无码一区二区| 久久精品视频28| 亚洲综合九| 日本久久999| 激情另类激情| 2019天天干| 日本羞羞的视频在线播放| 乱操乱伦AV| 乱伦a片视频| 日本熟妇人妻中出视频| 激情五月婷婷| 超碰99热中文字幕| 91老熟女91老女人| av网站免费看| 国产精品熟女九色九色蜜臀| 麻豆国产96在线| 欧美色图天堂在线| 99re只有精品| 色婷婷A V一二三四区麻豆综合| 大茄子熟女AV导航| 在线中文字幕| 婷婷丁香五月综合| 日本97久久久精品| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 色婷婷一区二区三区久久午夜| 综合网少妇| 亚洲高清视频在线免费观看| 99热99在线播放激情| 免费一级视频特黄色大片| 欧洲综合视频| 樱花蜜乳av| 久久性爱城| 内射中出日韩在线观看视频| AV女资源| 欧美日韩在线国产在线| 嗯啊免费视频| 精品人妻少妇| 日韩性爱小视频在线观看| 麻豆天美国美国产| 素人伊尹大香蕉免费下载视频| 无码不卡亚洲成?人片| 26uuu国产免费观看| 久久久久久久久久久久久久9999| 国产精品在线一区二区| 18禁在线视频| 黑丝内射一区二区三区| 破处bbq| 色黄污美女啪啪啪免费网站| 清柠毛片| 美女91在线| 国产女性无套 免费观看| 夜夜騷av、一區二區| 国产三级片在线观看| 色哟哟511老熟女| 麻豆久久久久久久久丝袜 | 久夜视频| 人妻少妇久久久| 91激情国产| 377p欧洲日本亚洲大胆| 99国产精品免费| 久久只有精品| 嗯嗯嗯嗯啊啊啊好紧好大| 日韩欧视频| 一区二区三区视频在线观看免费| 风骚少妇视频中文字幕| 日韩欧美成人性爱在线| 国产丰满熟夫69mpp| 日韩特级毛片免费观看全集| 91精品人妻一区二区三区蜜桃臀| 91性色| 天天干天天操天天拍| 超碰在线免费一区二区三区| 日韩乱插| 超碰久久.com| 婷婷久久久| 亚州欧美另类| 99性爱视频| 老熟女阿 国产91| 欧美黄片视频在线观看免费 | 日韩三级天堂在线观看| 中文字幕色AV| 亚洲成人免费在线| 97视频免费在线观看| 亚州情色j区| 国产一国产一级毛片古装| 99啪| 国产欧美成人第一页在线观看| 九九九久久久久| 欧美亚洲色图另类国产| 欧美第一页| 女人爽到高潮潮喷18禁网站| 国产sv美女内射| 伊人久久88国产女| 亚洲欧洲成人在线电影| 欧美 牲| 午夜福利视频在线一区| 欧美丝袜中文字幕07在线| 亚洲图片欧美日韩| 天堂а√在线最新版在线| 无码操逼天堂| 午夜人妻精品综合在线| 黄色香蕉视频网站一区| A一级色女| 九九热超碰| 国内偷拍精品一区二区| 蜜桃久久精品一区二区三区| 99日精品欧美国产| 草草电影院| 亚洲精品蜜桃久久久久久久| 凹凸视频特色日本特黄| 亚洲中文字幕精品一区| 精品无码一区二区人妻久久蜜桃| 欧美综合综合| 美女91在线观看| 麻豆啪啪啪视频| 日本色色色网站免费看不卡| 亚洲日韩久久精品一区| 黑丝内射一区二区三区| 亚洲第2页| 九九九九九九九九九国产精品| 国产性刺激| 日韩精品一区的| 老司机福利青青草| 国产美女91| 1二区9| 6080yy午夜理论三级一区二区三区无码| 中国操逼无码| 日本一二区不卡| 中文字幕一区二区三四五区日日骚| 日日夜夜干| 殴美在线AⅤ| 欧亚无码视频| 国产精品久久久久久久久久久久久久吹| 9精品在线| 婷婷日韩一区二区三区中文字幕在线| 在线性黄高清免费视频| 99re国产精品视频| 日本人妻中文字幕精品| 欧美综合网| 99精品九九九九九九| 日韩 欧美 国产 麻豆| 狠狠久久四虎| 欧美乱色| 国产剧情一区在线观看| 五月天伊人| 亚洲精品a人片在线观看视| se吧提供91精品国产91久久久久久 | 高清孕妇孕交 交孕妇| 久久999久| 韩国轻伦国内自拍一区| 日夜啪电影| 亚洲婷婷五月天| 91麻豆va国产精品| 99久久久无码国产精品性男| 啪啪资源网| 涩涩这里只有精品视频| 欧美精品日韩久久久九| 九九视频黄色片| 国产精品不卡一区二区三区av| 91狠狠综合网| 美女诱惑一区| 欧美精品成人一区二区在线观看 | 日韩美女久久一区二区三区| 97青青操视频| 欧美精品丝袜久久久中文字幕| 久久久亚洲精品电影免费看| 久久久久久中文字幕中文字幕最新| 91丝袜美女国产| 91粉芽高清在线一区二区| 久久99综合| 99热精品在线| 夜夜操老骚逼视频网站| 青青草十区九区爱夜| 亚州色图狠狠干| 白丝jkav| 97欧美色综合| 97精品一区二区三区免费| 国产精品乱码久久久久| 沈阳熟女高潮对白视频| 日本狂喷奶水在线播放212| 黄色一区二区秘书性感| 在线性黄高清免费视频| www.色婷婷| 99国产在线绯色一区| 大香网伊人久久综合网eew| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 久草视频分类在线| 97天天爽| 夜夜嗨绯色| 玖玖资源视频一区二区三区| 久久色精品视频在线| 成人免费毛片| www.色操逼| 亚洲AV免费在线观看| 97超级欧美| 国产一区二区精品久久久不卡蜜臀 | 日韩AV无码中文一区二区| 99热综合| 久久久久久久久九九久孕交| 激情小说亚洲视频| 神马九九| 在线视频日韩欧美国产| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 精品国模无码| 无码日韩网站| 久久亚洲不卡一区二区三区| 骚货操死你| 综合伊人激情| 婷婷五月成人| 天堂综合| 青娱乐淫乱1314| 日韩乱插| 九九九九精品一区| 天天日天天干天天操| 岛国片国产成人亚洲播放| 五月天丁香| 伦理日韩国产久久| 一个人免费视频观看在线WWW | 99re99在线视频| 无码 黑人一区二区三区| 色吧五月| 欧美综合自拍亚洲综合图| 精品久久无码午夜福利| 狠狠综合网| 天海翼久久| 中文字幕一区二区三区四区在线视频| 婷婷久久五月天| 大香蕉青青9| 久久久精品电影| 91原创在线观看| 天天操天天干美女网址导航| 自拍偷拍 高清无码| 二区熟妇韩日| 91网站18| 亚洲丝袜色| 亚洲欧美综合图片| 亚洲色图欧美视频| 日本不卡一区二区三区| 国产精品亚洲天堂网址| 久久综合中文国产| 日本东京热久久久电影| 毛片视频白嫩| 亚洲一区二区三区春色| 久久久久久夜夜夜夜夜| 天美传媒AV在线| 婷婷色综合| 91n处女在线观看| 久久精品性| 日本2020一区二区| 九九久久99| 91N综合网| 激情四射五月天| 91操熟女视频 | 玖玖无码超碰| 久久大香蕉| 东京热,男人的天堂| 日韩人妻无码专区| sewuyueav| 六九九九| 高清有码一区二区| 午夜精品久久久久| 99在线无码精品秘 入口黑人| 性色av一区二区| av无码av无码专区| 久久宗合97| 91婷婷| 综合网91| 屌妞视频久久久久久久久久久久| 超碰人人操97碰| 超碰在线第一页| 综合久久中文字幕综合日韩精品| 日本三级精品| 91 丝袜在线| 大香蕉久| 加勒比aⅴ| 综合国产97| 精品成人动漫一区二区| 干妹子| 精品国产乱码久久久久久影片| 96精品久久久久久久久| 综合网欧| 国产女人成人精品视频| 少妇久久| 美女丝袜激情小说| 亚洲日本成人动漫| WWW啪啪的com| 亚洲人妻五月丁香婷婷| 中文久久一区| 亚洲一区日韩| 岛国在线国产| 东京热毛片调教| 色91综合网| 久久人人爽人人爽人人片Ⅴ| 国产在线播放成人免费| 成人欧美日超碰| 99热在线观看| 强奸乱伦大香蕉| 蜜臀久久99精品久久久久久-DVD| 欧美老妇女内射网址| 久久老子无码午夜伦不卡| 尤物视频视频官网| 日本高清视频在线观看黄已三辽| 国产suv精品一区二区四| 国产av又色又爽又黄| 欧美性暴力| 久久人妻一区二区三区高清| 久久久久久久一级黄色打同平台| 黄色网址在线免费观看| 永久电影三级在线观看| 96国产精品| 伊人991| 青青草原人妻| 婷婷综合网| 久久av成人无码免费| 搡老女人911熟妇老熟女| 精品少妇一区二区三区| 超碰1997| 天天综合影院91| 最新欧洲欧美日本激情网站| 国产午夜激片Av毛片不卡| 美女裸体无遮挡永久免费观看网站| 夜夜嗨TV| 亚洲高清男人天堂| 2017大香蕉国产精品久久| 区日韩亚洲乱码av电影| 91碰碰碰| 超碰91在线| wwwcaobibi| 夜间福利片1000无码| 九九热久久99精品re| 老司机福利青青草| 99热在线播放| 97干在线视频| 午夜男人的天堂| 东京热,男人的天堂| 超碰在线1234区| 婷婷久草| 97久久天天综合色天天综合色电影| 国产偷仑| 精品视频专区| 美欧老女人97| 久久久久亚洲一区女同性恋中文字幕| 日本丝袜美腿人妻九九| 岛国小电影| 欧美专利1区2区3区4区5区免费| 69超碰综合| 69精品少妇一区二区三区蜜桃| 99热亚洲| 天天色香欲综合网| 国产白领连续中出在线观看| 丰满少妇人妻久久久久久| 狠狠躁AV| 99操| 中文字幕伊人| 一级免费精品| 亚洲人妻日日日| 欧美一二三| 一起草三级AV电影在线观看 | 色五月婷婷网| 久热色情精品| 操逼精品视频| 久久 久久国内精品亚洲| 天堂综合| 国产精品乱码久久久久久久久| 欧美色交| 熟女探花啪啪| 中文字幕人成乱码熟女香港| 美女极品一区二区三区| 操比国产| 成人在线视频二区| 国产青视频| 亚洲精品黑丝| 九九九网站| 大香蕉乱级| 97人人操人人摸人人爱| 97色婷| 高树玛利亚无码流出| 好屌色综合| 97超级久久| 精品无码一区二区三区色欲| 欧美黑人精品在线播放| 亚洲欧美成人在线| 97se综合网| 天天在线91| 97在线观看| 欧美aaaaaaa| 亚洲成人av色网| 欧美性暴力猛交XXXX| 啊啊啊啊啊啊啊在线| 久久久性爱| 成人麻豆av电影网站| 另类天堂| 超碰久久草| 少妇久久久久| 操B在线观看| 精品.99999| 久久青娱乐| 无码高清操逼网址| 99欧美| 九九玖玖精品| 亚洲综人网| 久久激情婷婷| 啪一啪免费视频| 91 亚洲 欧洲| 久久超碰av在线| 97超碰人人操人人操| 深夜激情无码| 激情欧美日韩女同久久| 97在线视频网站| 欧美性巨大╳╳╳╳╳高跟鞋| 性欧美另类高清| 熟女高潮精品一区二区| 国产日产精品久久快鸭的功能介绍| 伊人激情| 亚洲色棕合| 密乳AV免费观看| 久久精品视频久久久| 一卡二卡在线播放| 欧美大香蕉专区网| 四季AV一区二区凹凸精品小说| 99中文字幕| 九九久久综合| 97少妇人妻中文字幕久久| 伊人丁香五月婷婷| 操死我干死我| 精品黄色电影| 亚洲欧洲另类| 婷婷精品久久av影视| 在线国产福利网址导航| 欧美狠狠操| 熟女探花啪啪| 国产欧美伊人| 婷婷午夜清品久久久久久久性色视频观| 蜜乳AV一区二区三区四| 日韩美女高潮喷水视频| 青青免费在线视频一区| 欧洲中文字幕| 国产JDAV无码视频在线观看| 久久久久久久久久久久久久久性生活视频 | 亚熟在线| 中文字幕天堂在线| 手机不卡视频不卡在线一二三区| 啊啊啊网站| 插入综合网| 成人线上超碰| 中文字幕亚洲欧美在线不卡| 欧洲黄色网| 日本日日色视频| 狠狠五月天| 大鸡巴久久| 丁香六月激情| 超碰色综合| 亚洲综合网图| 国产成年精品高清在线观看91| 抽插爽| 一本一道波多野毛片中文在线| 亚洲精品蜜桃久久久久久久| 国产精品久久久无码AV网站| 亚洲天堂资源| 色五月综合| 搡老女人老91二区| 天天操天天射青青草| 国产丝袜美女在线一区| 情侣操 逼视频99| 亚洲国产成人精品无码专区| 视频在线97| 国产熟女少妇一区| 性爱视频免费网址| 99久久9| 婷婷综合五月天| 亚洲欧美日韩免费观看| 蜜臀久久久国产| 亚洲免费人妻在| 夜色91| 青娱乐手机日韩在线视频| 亚洲码专区| 日本欧美中文字幕| 夜夜综合| 小少妇| 亚州免费啪啪视频| 人妻久久| 色超碰综合| 99色在线观看| 日婷婷| 伊人网在线点播| 91暧暧| 欧美精品久久久久久久久88| 久热一区二区| 国产一区二区精品在线视频| 超碰三级秋霞| 精品亚洲国产成人精品| 精品久久久久久久| 精品国产久久乱码| 久久久com| 全免费a敌肛交毛片免费| 亚洲在线91| 人澡逼| 九九久久国产精品| 丁香五月综合| 免费啪啪一级视频| 精品人妻一区二区三区四区石在线| 久操| 超碰中文字幕人妻草一区| 色婷婷丁香五月| 国产无马视频| 91被操| 婷婷午夜清品久久久久久久性色视频观| 9久久美女首页| 综合色图区| 极品白嫩美女白浆成人福利在线看| 国产高清成人免费视频| 天天综合91入口| 超碰久久草| 97一区二区蜜臀| 免费观看的av| 一级啊性爱在线视频| 999精品国产高清一区二区| 欧美啪啪色吧在线| 亚洲人精品久久久| 人妻丝袜肏逼| 久久国99999| 岛国小电影| 六九九九| 婷婷五月天基地| 国产91久久九九免费精品无码| 国产一级137片内射麻豆| 亚洲本色精品一区二区久久| 欧美性暴力猛交| 亚洲女优有码无码高清| 国产外初女出血视频| 亚洲综合射| 熟女欧美日韩综合婷婷| 中文字幕片| 九九热免费在线国产视频伊人五月| 大香蕉综合网| 26uuu欧美| 99免费在线视频| 五月丁香婷婷色| 狠狠操综合| 丁香六月婷婷| 99这里只有精品| 99热免费| 人妻天堂综合网| 天美精品av| http://qxhbdz.com| 91色艳| 97日本超碰综合| 北条麻妃99精品青青久久| 啊啊啊com| 色女综合| 夜夜嗨绯色| 亚州高清av| 日本熟妇自慰性高潮一区二区三区| 国产精品在线一区二区| 久久久久人| 懂色AV网| 九九AV| 亚洲性爱电影| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 人妻嗯啊啊在线播放 | 亚洲 中文字幕 精品| 国产在线激情视频| 欧美熟女操屄| 91中文在线| 啪啪91| 九九九九九用不成了| 少好三P| 人人妻人人澡人人爽久久av| 韩国一级做a久久久久| 人妻偷拍一区二区三区| 天天综合网日韩7799| 极品色www影院| 韩国一区二区精品亚洲| 久久綜合很很很| 热热色国产一二区AV| 夜夜爽夜夜操| 天天操人人操狠狠插| WWW黄片COM| 国产天美欧美| 另类av综合久久| 东京热,男人的天堂| a片久久久久久久久久久久| 波多野42部无码喷潮在线观看 | 欧美精品亚洲精品日韩传电影| 99热欧美| 国产精品午夜福利亚洲综合网| 久久久国产亚洲精品系列| 91狠狠综合久久久久久| 美骚妇av高清在线| 美女t无毒不卡不卡| 超碰在线人妻中文字幕| 黄片直播三级黄片两女一男| 99热综合在线| 日韩中文9| 亚洲色婷婷久久91| 操逼操操操91| AV老汉| 97视频免费| 视频黄色国产一级| 九九热男人天堂| 久久是精品| 一区二区免费电影久久| 亚洲激情网| 丝袜美腿射精91| 人人么人人操| 任你艹| 欧美黑人91| 伊人久久综合影院精品久久久| 大香蕉久操| 成人天天爽| 国产精品麻豆成人av| 激情五月天丁香| 热热色国产一二区AV| 亚洲国产精品成人综合| AV 少妇 人妻 偷拍| 亚洲自拍青操视频| 国产日韩色综合| 欧美亚洲激情小说| 91情色在线| 亚州操逼网| 午夜AV污污污| 岛国色情视频在线观看| 中文字幕天天天天天| 五十路熟女人妻一区二区三区四区五| 亚洲欧美日韩夜夜| 狠操91,com| 亚洲天堂AV在线播放| 大香蕉 222| 蜜臀视频网站| 国产欧美日韩在线观看麻豆传媒公司 | 亚洲中文字幕在线视频一区二区| 五月婷婷基地| 尤物视频新赏网鲜网色诱网| 两性色网| 亚洲男人综合网| 岛国毛片手机在线观看| 日韩精品99久久久久久中文字幕 | 国产久久一区二区午夜| 人妻第一页| 日本色色色| 唯美清纯 妖精视频| www.久久久久| 91高清欧美| 99无码视频| 精品对白久久不卡| 综合网欧美在线| 亚州91| 久9久| 嫩草在线视频| 伊人久久亚洲中文字幕不卡| 26uuu性| 精彩久久中文| 极品尤物在线观看| 美女性91| 91蜜臀在线久久久久| 97超碰人人操人人操| 男人的天堂成人的社区| 亚洲码在线中文在线观看| 玖玖蜜臀资源网| 日本免费人成视频播放120秒| 农村妇女精品一区二区| 亚洲国产一级精品毛一级精品看免费视频 | 成人精品水蜜桃久久久久久久| 久久高清欧美国产| 欧美97av| 亚洲日韩肥臀视频在线观看| 日韩无码视频黄色| 日韩综合97P| 五月天社区| 天堂v无码免费视频| 动漫区日韩区欧美区| 思思热影视| 黄页av| 四虎视频在线观看| 国产情侣自拍在线播放| 免费视频一二三区| 久操 高清| 亚洲AV无码成人精品久久| JuliaAnn丝袜熟女系列| 亚洲欧美性生活| 人人射人人操人人摸| 精品对白久久不卡| 日韩99神马视频播放| 亚洲无线码一区国产欧美国| 亚洲有码视频二区| 91综合国产精品| 色五月婷婷久久| 免费视频在线一区二区不卡| 日本黄色天堂| 91久精品| 草莓精品视频| 日本乱人伦片中文三区| 男女香蕉一区二区| 亚洲精品蜜桃久久久一区二区三区| 欧美黄片免费在线观看视频| 伊香蕉综合久久久久久久噜噜噜| 五月婷婷hd| 天天日天天色| 成人麻豆av电影网站| 99夜夜操| 青青草久草AV| 99啪啪视频| 91一起操| 操逼啊啊啊91| 亚洲av成人精品一区| 偷拍99| 中文字幕日韩人妻视频一区二区三区交换夫妻| 十八禁视频网站| 国产日韩区| 上特色A在线| 亚洲乱熟女一区二区| 欧美色66| 日韩欧美女优电影| 人人天天干干| 大香蕉黄色一级片免费看| 好吊色综合| 91亚洲黄色网| 天天日美女的B| 精品国产一区二区三区久久久蜜臀| 久久婷婷色| 丝袜美腿制服人妻二区中文字幕| 日韩操啪| 免费国产视频| 情色大香蕉| 中出在线视频| 青青欧洲黑| 欧美大香蕉97| 青青青国产| 久久婷婷一区二| 日本高清久久| 激情专区综合| 日韩av不卡在线观看| 一本一道波多野毛片中文在线| 日韩特级毛片免费观看全集| 屁股久久久久久久久久| 精品人妻一区二区三区四区| 亚洲91射| 蜜桃臀一区二区三区久久| 国产少妇高潮| 国产乱人妻精品入口| 中文字幕免费观看| 97se综合网| 97人人中文网| 欧美熟妇精品黑人巨大一二三区| 97爱综合| 国产精品久久久鸭无码的功能| 中国少妇XXXX做受| 国产精品一区二区亚洲人成毛片| 男人天堂网站| 一级性爱网| 九九九九热| 青春草莓视频在线观看网址| 欧美天天性| 性色AV蜜色av色欲av| 亚洲视频中文一区| 亚洲欧美日韩免费观看| 国产精品点击进入在线影院高清| 精品999999| 91福利网在线观看| 成人精品久久久午夜福利| 豆花视频操逼网址| 视频黄色国产一级| 乱伦av.com| 色婷婷网| 精品久久青青草| 999久久久久久久精| 91在线色| www.av不卡中文字幕| 一区二区无码视频| 美女黄站|