99久久久久久久久96久久,青青操在线视频免费播放,亚洲黄色天堂视频网,91国产原创精品人妻,2020亚洲欧美国产日韩,亚洲三级免费观看网址,免费女人高潮又粗肛交毛片,啊啊啊嗯呢啊啊啊官网首页,免费av三级在线观看

聯(lián)系我們 - 廣告服務(wù) - 聯(lián)系電話:
您的當(dāng)前位置: > 關(guān)注 > > 正文

當(dāng)前熱門:【干貨】Python與STAT時間日期轉(zhuǎn)換問題

來源:CSDN 時間:2023-04-06 10:00:01

常見問題與解決方案

問題目錄:1. 時間變量的操作2. 索引的重建與設(shè)置3. 數(shù)據(jù)的排序4. 數(shù)據(jù)類型的轉(zhuǎn)化5. 異常處理 -跳過異常繼續(xù)執(zhí)行6. CSV 與 Excel的 批量轉(zhuǎn)換7. 文件操作8. 數(shù)據(jù)讀入與寫入9. 缺失值問題 np.nan,None,NaT10. 使用Python輸出回歸表格11. 特殊結(jié)構(gòu)數(shù)據(jù)整理12. 估計系數(shù)聯(lián)合檢驗(yàn)(Wald tests via statsmodels)13. Python 與 STATA 時間日期轉(zhuǎn)換問題14. Python執(zhí)行面板數(shù)據(jù)的Hausman檢驗(yàn)15. Fama Macbeth回歸、滾動回歸等等16. 事件研究法 event study生創(chuàng)創(chuàng)如注K新UF導(dǎo)導(dǎo)出導(dǎo)入


(資料圖)

問題目錄:

Python,作為當(dāng)今主流的編程語言,受到全世界愛好者的追捧。如果你是一名科研小白,導(dǎo)師也許要求你使用它來完成一些任務(wù)。確實(shí),入門容易,看看市面上種類繁多的教科書就行,但是,能夠做到靈活運(yùn)用又是談何容易,Python語句編寫的靈活性常常讓很多的文科生想死的感覺都有。以下的內(nèi)容就是鄙人在講授相關(guān)課程時學(xué)生容易產(chǎn)生疑問的知識點(diǎn),不是很全面,還在持續(xù)的更新之中…。

1. 時間變量的操作

主要的時間模塊有包括time、datetime和calendar。在Python中表示時間的方式:

時間戳:10位整數(shù)位和若干小數(shù)位,例如 1551153156.6358607元組(struct_time): 含有9個元素的元組,例如 (tm_year=2011, tm_mon=9, tm_mday=28, tm_hour=10, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=271, tm_isdst=-1)格式化字符串: 格式化的時間字符串, 例如 ‘2019-02-26 12:45:46’time模塊,以元組(struct_time)為核心實(shí)現(xiàn)時間戳和格式化時間字符串的相互轉(zhuǎn)換。datetime模塊,以datetime類實(shí)例對象為核心實(shí)現(xiàn)時間戳和格式化時間字符串的相互轉(zhuǎn)換。

import time#1.時間戳------->時間元組:time1 = time.time() #顯示的是時間戳tuple = time.gmtime(time1)  # UTC時間 時間元組print(tuple)#time.struct_time(tm_year=2021, tm_mon=11, tm_mday=3, tm_hour=16, tm_min=9, tm_sec=20, tm_wday=2, tm_yday=307, tm_isdst=0)tuple1 = time.localtime(time1)  # UTC + 8 時間 時間元組print(tuple1)#time.struct_time(tm_year=2021, tm_mon=11, tm_mday=4, tm_hour=0, tm_min=9, tm_sec=20, tm_wday=3, tm_yday=308, tm_isdst=0)#2.時間元組-------->時間戳:tuple2 = time.localtime()time2 = time.mktime(tuple2)print(time2)#1635955760.0#3.時間元組--------->字符串:tuple = time.localtime()strTime = time.strftime("%Y-%m-%d %H:%M:%S",tuple)print(strTime)#2021-11-04 00:09:20strTime1 = time.strftime("%Y{y}%m{m}%dyfyfu3u %H{h}%M{m1}%S{s}",tuple).format(y="年",m="月",d="日",h="時",m1="分",s="秒") #"2021年11月02日 23時49分53秒"print(strTime1)#2021年11月04日 00時11分49秒#4.字符串---------->時間元組:tupleTime = time.strptime("2018年01月05日","%Y{y}%m{m}%dy8jny6n".format(y="年",m = "月",d="日"))print(tupleTime)#time.struct_time(tm_year=2018, tm_mon=1, tm_mday=5, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=5, tm_isdst=-1)

時間元組(time.struct_time) 時間格式化

參考文獻(xiàn):python 之 時間戳 Python中的時間元組與時間日期 Python3 日期和時間 Python日期時間(詳細(xì))

在實(shí)戰(zhàn)中,數(shù)據(jù)常常存儲在DataFrame之中,時間 date變量 可以是 作為index存在的,也可以是作為一個單獨(dú)的變量存在的。格式為:2021-11-10 或者 20211110 或者2021/11/10 或者2021-11-10 00:00:00 等等樣子。

首先,我們在 IPYTHON的命令窗口 In 1: 輸入 df.dtypes(假設(shè)數(shù)據(jù)對象是df) 或者輸入 df.info(),查看各個變量的個數(shù),以及各個變量的屬性。

如果date是字符型則顯示為 object, 如果是數(shù)字型則顯示為 int64 或者 float64, 如果是日期型則顯示為 datetime64[ns]。

a.如果時間 date變量 是 作為index存在的(一般情況下通過 API提取的數(shù)據(jù)存在這樣的情況,并且這時的date是時間型datetime64[ns]),下面我們要提取它的年月日。df[‘year’] = df.index.year df[‘month’] = df.index.month df[‘day’] = df.index.day

b.如果是date是 數(shù)字型變量(20101203),顯示為 int64 或者 float64。df[“year”] = df[“date”].apply(lambda x: int(str(x)[:4])) #year 數(shù)字型 df[“year2”] = df[“date”].apply(lambda x: str(x)[:4]) #year2字符型

df[“month”] = df[“date”].apply(lambda x: int(str(x)[4:6])) df[“day”] = df[“date”].apply(lambda x: int(str(x)[6:]))

c.如果是date是 字符型變量(“20101203”),顯示為 object。方法一: import pandas as pd from datetime import datetime df[“date2”]=pd.to_datetime(df[“date”]) #字符型轉(zhuǎn)化為時間型 datetime64[ns] df[“year”] =pd.to_datetime(df[“date”]).dt.year #year數(shù)字型 df[“month”] =pd.to_datetime(df[“date”]).dt.month df[“day”] =pd.to_datetime(df[“date”]).dt.day

方法二: df[“year”] = df[“date”].apply(lambda x: int(x[:4])) #year數(shù)字型 df[“month”] = df[“date”].apply(lambda x: int(x[4:6])) df[“day”] = df[“date”].apply(lambda x: int(x[6:]))

方法三:使用astype

df[‘date’].astype("datetime’64)

方法使四:用datetime df[‘date’] = df[‘date’].apply(lambda x: datetime.strptime(x,’%Y-%m-%d’))

將日期轉(zhuǎn)換為月份M、季度Q df[‘period’] = df[‘date’].dt.to_period(‘M’)

d.如果date是日期型,則顯示為 datetime64[ns]。df[“year”] =pd.to_datetime(df[“date”]).dt.year #year數(shù)字型 df[“month”] =pd.to_datetime(df[“date”]).dt.month df[“day”] =pd.to_datetime(df[“date”]).dt.day

e.如果date是python將excel讀取的日期文本數(shù)字 轉(zhuǎn)為日期(5位數(shù)字時間戳)。

如果時間戳是很長的位數(shù),則:

df[‘gtime’]=pd.to_datetime(df[‘gtime’],unit=‘s’)) #以上以默認(rèn)1970-01-01為0點(diǎn)位

或者:

df[‘time_stamp’]=pd.to_datetime(df[‘time_stamp’],unit=‘s’,origin=pd.Timestamp(‘2018-07-01’)) #這個的意思是將time_stamp這列的時間戳轉(zhuǎn)換為日期格式,單位是秒(unit=‘s’),計算的日期是從2018年的7月1號開始,即從2018年的7月1號開始加上時間戳的那么多秒。

下面以excel讀入時間數(shù)據(jù)(時間變?yōu)榭此聘↑c(diǎn)型的數(shù)字了,并且是5位數(shù)字時間戳,開始的時候確實(shí)有點(diǎn)懵逼-^^-)為例來講解:

#這列fin46本來在excel中是日期,讀入Python后變?yōu)閿?shù)字了,并且還有很多的缺失值nan#如果直接使用時間轉(zhuǎn)換函數(shù),可能轉(zhuǎn)不了,需要先將nan轉(zhuǎn)為數(shù)值0df_final["fin462"]=df_final["fin46"].fillna(0) from datetime import datetime#以下是時間轉(zhuǎn)換函數(shù)def date_change(stamp):    delta = pd.Timedelta(str(stamp)+"D")    real_time = pd.to_datetime("1899-12-30") + delta    return real_time#套用以上函數(shù),轉(zhuǎn)為 2021-11-16 00:00:00 字符型格式df_final["fin463"]=df_final["fin462"].apply(date_change)#去掉時分秒df_final["fin463"] = df_final["fin463"].dt.date #或者代碼df_final["fin4633"] = df_final["fin463"][0].strftime("%Y-%m-%d")#將日期 fin463 轉(zhuǎn)換為月份、季度df_final["period"] = df_final["fin463"].dt.to_period("M")df_final["period2"] = df_final["fin463"].dt.to_period("Q")#把一些本來是缺失的時間變?yōu)? 空值df_final.loc[df_final["fin462"] == 0,"fin463"] = None#字符型轉(zhuǎn)化為時間型 datetime64[ns]df_final["date2"]=pd.to_datetime(df_final["fin463"]) #刪除中間變量,因?yàn)樗麄円呀?jīng)無用武之地del df_final["fin462"]del df_final["fin463"]#生成三列:年月日df_final["year"] =pd.to_datetime(df_final["date2"]).dt.year #year數(shù)字型df_final["month"] =pd.to_datetime(df_final["date2"]).dt.monthdf_final["day"] =pd.to_datetime(df_final["date2"]).dt.day

參考文章: https://blog.csdn.net/weixin_41261833/article/details/104839119 https://vimsky.com/examples/usage/python-pandas-period-strftime.html https://vimsky.com/zh-tw/examples/usage/python-pandas-datetimeindex-strftime.html https://www.cnblogs.com/shadow1/p/10951979.html https://www.cnblogs.com/nxf-rabbit75/p/10660317.html https://blog.csdn.net/u010591976/article/details/104253489?ivk_sa=1024320u

參考文章:

a = "44042"import pandas as pddef date(stamp):    delta = pd.Timedelta(str(stamp)+"D")    real_time = pd.to_datetime("1899-12-30") + delta    return real_timeprint(str(date(a)).split(" ")[0])

原文鏈接:https://blog.csdn.net/qq_57173722/article/details/121030038

io = "中國數(shù)據(jù).xlsx"dt = pd.read_excel(io, sheet_name = 0)dt1 = pd.read_excel(io, sheet_name = 1)def date(para):    if type(para) == int:        delta = pd.Timedelta(str(int(para))+"days")        time = pd.to_datetime("1899-12-30") + delta        return time    else:        return paradt["日期"] = dt["日期"].apply(date)dt

還有這種時間顯示的格式,pandas 讀excel,日期變成了數(shù)字,pandas方法解決:

import pandas as pddata = pd.read_excel("文件路徑")data["發(fā)貨日期"] = data["發(fā)貨日期"].fillna(method="ffill")  # 因?yàn)橛泻喜卧?,datadef date(para):    delta = pd.Timedelta(str(int(para))+"days")    time = pd.to_datetime("1899-12-30") + delta    return timedata["發(fā)貨日期"] = data["發(fā)貨日期"].apply(date)data

計算兩個日期的時間(天數(shù))間隔。

import timedef demo(day1, day2):    time_array1 = time.strptime(day1, "%Y-%m-%d")    timestamp_day1 = int(time.mktime(time_array1))    time_array2 = time.strptime(day2, "%Y-%m-%d")    timestamp_day2 = int(time.mktime(time_array2))    result = (timestamp_day2 - timestamp_day1) // 60 // 60 // 24    return resultday1 = "2018-07-09"day2 = "2020-09-26"day_diff = demo(day1, day2)print("兩個日期的間隔天數(shù):{} ".format(day_diff))#或者:def is_leap_year(year):    if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:        return 1    else:        return 0def get_days(year, month, day):    days = 0    month_days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]    if is_leap_year(year):        month_days[1] = 29    for i in range(1, year):        year_day = 365        if is_leap_year(i):            year_day = 366        days += year_day    for m in range(month - 1):        days += month_days[m]    days += day    return daysdef get_result(start_time, end_time):    res = end_time - start_time    return resyear1, month1, day1 = 2018, 7, 9year2, month2, day2 = 2020, 9, 26days1 = get_days(year1, month1, day1)days2 = get_days(year2, month2, day2)day_diff = get_result(days1, days2)print("兩個日期的間隔天數(shù):{} ".format(day_diff))

2. 索引的重建與設(shè)置

關(guān)鍵詞:reset_index

reset_index可以還原索引,重新變?yōu)槟J(rèn)的整型索引。

df.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill=”)常用的是: df.reset_index(drop=False, inplace=True)

a.如果數(shù)據(jù)框df 索引 和 變量 都存在一個 date, 重建索引時要使用: df.reset_index(drop=True,inplace=True) 這樣date就能夠順利從index角色變?yōu)?普通變量的角色,方便 再次重新編制索引了。

b.如果數(shù)據(jù)框df 索引 與變量不存在重復(fù), 重建索引時要使用: df.reset_index( inplace=True) #索引變?yōu)槠胀ㄗ兞? df.reset_index(drop=True, inplace=True) #原索引被刪除了

當(dāng)然,前期在重建索引時,最好不要刪除原索引,后期可以隨時刪除: df.drop(“date”,axis=1,inplace=True) 或者: del df[“date”] #都能夠刪除這個原來的索引date.

關(guān)鍵詞:set_index

DataFrame可以通過set_index方法,可以設(shè)置單索引和復(fù)合索引。

DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False)

常用的是: df.set_index(“code”,drop=False, inplace=True)

3. 數(shù)據(jù)的排序

要對pandas.DataFrame和pandas.Series進(jìn)行排序,可以使用sort_values()和sort_index()方法。

a.按元素排序sort_values()(如果要更改原始對象,則參數(shù)inplace=True)

df_s = df.sort_values(‘state’) #按照一個變量排序 df_s = df.sort_values(‘state’, ascending=False)#按照一個變量排序,降序排 df_s = df.sort_values([‘a(chǎn)ge’, ‘state’], ascending=[True, False]))#按照多個變量排序,降或升序排都可以設(shè)置 df_d .sort_values(by=1, axis=1, ascending=False, inplace=True)#按照列來排序

b. 按索引排序(行名/列名)sort_index()

與sort_values()一樣,默認(rèn)值為升序。如果要使用降序,請將升序參數(shù)設(shè)置為False。 df_s = df.sort_index(ascending=False)

按列名列排序(參數(shù)axis),意義不大。 df.sort_index(axis=1, ascending=False, inplace=True)

c.多層索引的取值

loc使用的是標(biāo)簽索引,iloc使用的是位置索引。但是,iloc的取值并不會受多層索引影響,只會根據(jù)數(shù)據(jù)的位置索引進(jìn)行取值。

s.loc[‘張三’] s.loc[‘張三’,‘期中’] s.loc[:,‘期中’] s.iloc[0] df.loc[‘張三’].loc[‘期中’] df.loc[(‘張三’,‘期中’)]

多層索引的排序:DataFrame按行索引排序的方法是sort_index(),df.sort_index()中的level參數(shù)可以指定是否按照指定的層級進(jìn)行排列,第一層級索引值為0,第二層級索引值為1。df.sort_index(level=0,ascending=False).

4. 數(shù)據(jù)類型的轉(zhuǎn)化

在實(shí)際的數(shù)據(jù)處理中,常見的數(shù)據(jù)類型包括了:numpy中的array、list、tuple、dict、pandas中的series、pandas中的dataframe。我們在套用他人的代碼的時候,很多同學(xué)經(jīng)常出錯,原因就是別人代碼輸入端的規(guī)定數(shù)據(jù)類型和你的數(shù)據(jù)類型不一樣,對象不一樣,對象的屬性和方法就出現(xiàn)了很大的差異,那程序當(dāng)然運(yùn)行不了呀。所以,你需要理解別人的代碼,然后把我們自己的數(shù)據(jù)轉(zhuǎn)化為 合格的數(shù)據(jù)類型。

a. DataFrame 轉(zhuǎn)化為 List 類型

import pandas as pd import numpy as np from pandas import DataFrame

data_file = ‘d:/Users/qiguan/Downloads/data.xlsx’ #data_file 數(shù)據(jù)文件路徑

data = pd.read_excel(data_file, index_col=None)#讀取文件數(shù)據(jù)

data_array = np.array(data)#首先將pandas讀取的數(shù)據(jù)轉(zhuǎn)化為array

data_list =data_array.tolist() #然后轉(zhuǎn)化為list形式

b. 把DataFrame轉(zhuǎn)成Series類型,改變列中值的類型方法

b1. 使用 pd.Series把dataframe轉(zhuǎn)成Seriesimport pandas as pd df_series = pd.Series(df[‘Value’].values, index=df[‘Date’])

b2.使用astype改變列中的值的類型,注意前面要有npimport numpy as np df[‘列名’] = df[‘列名’].astype(np.int64)

c. DataFrame類型轉(zhuǎn)換成Numpy中array類型import numpy as np import pandas as pd df=pd.DataFrame({‘A’:[1,2,3],‘B’:[4,5,6],‘C’:[7,8,9]})

c1.使用DataFrame中的values方法np1 = df.values #type(np1) 查看類型為 numpy.ndarray

c2.使用Numpy中的array方法np2 = np.array(df) #type(np2) 查看類型為 numpy.ndarray 2種方法效果相同,都能實(shí)現(xiàn)DataFrame到array的轉(zhuǎn)換

5. 異常處理 -跳過異常繼續(xù)執(zhí)行

python一般使用try…except…處理異常,這樣子的話,保障程序在遇到意外情況的時候,能夠繼續(xù)執(zhí)行下去。當(dāng)然,這個辦法也有缺陷,就是丟失掉了一些數(shù)據(jù),失去了改正的機(jī)會。要是想改正,我們就必須讓程序返回錯誤的信息是什么才好下手去找錯。

比如,很多時候代碼只要有一個異常,程序就不繼續(xù)執(zhí)行了。異常情況是有很多的,有的你想也想不到。那么,當(dāng)循環(huán)中出現(xiàn)異常時,如何跳過循環(huán)中的異常繼續(xù)執(zhí)行。比如當(dāng)我move一個文件的時候,如果目標(biāo)文件不存在,程序可跳過異常,繼續(xù)執(zhí)行,下面是一種可行的方法:

import pandas as pddates=range(20161010,20161114)pieces=[]for date in dates:    try:        data=pd.read_csv("A_stock/overview-push-%d/stock overview.csv" %date, encoding="gbk")        pieces.append(data)    except Exception as e:        pass  #存有異常,但是跳過現(xiàn)在的錯誤的當(dāng)前循環(huán),繼續(xù)執(zhí)行下一步循環(huán)。    continue #無論是否有異常,都將繼續(xù)執(zhí)行 continue后面的命令,但是這里沒有了后續(xù)命令,所以這兒的pass continue結(jié)構(gòu)可以修改,即 pass改為continue,不過,如果原始的continue后面有語句則不同了。data=pd.concat(pieces)

下面的代碼相對完善一點(diǎn):

try:    #x=1/0   #這個錯誤對應(yīng)于 except Exception as e:    print("========>1")    name    print("==========>2")    l = [1, 2, 3]    # l[100]    print("==========>3")    d={}    d["name"]    print("=============>4")except NameError as e:    print("----------->", e)    print(1)except IndexError as e:    print("----------->", e)    print(2)except KeyError as e:    print("----------->", e)    print(3)except Exception as e:#異常不是上面的幾種類型,但仍存有異常,則執(zhí)行這個語句    print("統(tǒng)一的處理方法",333)else:   #所有的異常都沒有用發(fā)生,則執(zhí)行下面的語句    print("在被監(jiān)測的代碼塊沒有發(fā)生異常時執(zhí)行")finally:  #不管上面的語句是否正確,都能執(zhí)行下面的語句。    print("不管被監(jiān)測的代碼塊有無發(fā)生異常都會執(zhí)行")print("執(zhí)行接下去的代碼")

try except 與pass continue結(jié)合編寫代碼:

(1)為了跳過for循環(huán)里的某次循環(huán),以下代碼當(dāng)某次循環(huán)發(fā)生錯誤時,執(zhí)行except代碼塊,continue跳過該次循環(huán):

x=5for i in range(x):    try:        i += 1        print(i)    except:        pass #這兒pass可以換為 continue    print("kk:",i)

(2)還可以寫成這樣,遇到錯誤執(zhí)行except代碼塊,pass忽略錯誤并繼續(xù)往下運(yùn)行,略有不同的就是無論程序錯誤與否都會運(yùn)行到continue這一行代碼:

x=5for i in range(x):    try:        i += 1        print(i)    except:        pass    continue

如果continue后面有語句情況就不一樣了。

x=5for i in range(x):    try:        i += 1        print(i)    except:        pass    continue    print("kk:",i)

修改一下:

x=5for i in range(x):    try:        i += 1        print(i)    except:        continue    print("kk:",i)

(3)還有一種用法就是遇到錯誤時直接中斷整個for循環(huán):

try:    for i in range(x):        i += 1        print(i)except:    pass

pass, continue 與條件語句的結(jié)合:

var = 10                    while var > 0:                 var = var -1   if var == 5:      pass   print ("當(dāng)前變量值 :", var)print( "Good bye!")

var = 10                    # 第二個實(shí)例while var > 0:                 var = var -1   if var == 5:      continue    print ("當(dāng)前變量值 :", var)print( "Good bye!")

綜上,continue 終止本次循環(huán)功能不變,pass無所事事的功能不變,但continue在與 pass結(jié)合起來,并與條件語句、循環(huán)語句使用的時候,要看清楚程序的結(jié)構(gòu)層次,注意不同寫法的差異。

6. CSV 與 Excel的 批量轉(zhuǎn)換

在實(shí)際生活工作中,我們經(jīng)常Csv文件與Excel文件,但是這兩類文件通常情況下不能直接轉(zhuǎn)換,Csv是逗號分隔數(shù)據(jù)的純文本文件,可以保存任何文本類型數(shù)據(jù),但不能保存格式、公式、宏等),需要手動另存對應(yīng)格式文件。文件數(shù)量少還好,一旦涉及文件數(shù)量較多時,重復(fù)“另存為”操作很繁鎖,而且往往會因編輯后未及時保存而丟失加工后的數(shù)據(jù)。

6.1 Excel轉(zhuǎn)換為Csv (1)讀取當(dāng)前目錄下Excel文件 (2)讀取Excel文件內(nèi)容 (3)轉(zhuǎn)換為Csv文件

#excel文件轉(zhuǎn)化為csv文件def excel_to_csv(in_path,out_path):    #獲取當(dāng)前目錄下所有的excel文件    file_list=[file for file in os.listdir(in_path) if os.path.splitext(file)[1][1:]=="xlsx" or os.path.splitext(file)[1][1:]=="xls" ]    #遍歷每個文件    for file in file_list:        #讀取文件數(shù)據(jù)        df=pd.read_excel(os.path.join(in_path,file),index_col=0)        #轉(zhuǎn)換為csv文件,不保存索引        df.to_csv(os.path.join(out_path,os.path.splitext(file)[0]+".csv"),index=False)    #輸出提示信息    print("轉(zhuǎn)換完成")

6.2 Csv轉(zhuǎn)換為Excel (1)讀取當(dāng)前目錄下Csv文件 (2)讀取Csv文件內(nèi)容 (3)轉(zhuǎn)換為Excel文件

#csv文件轉(zhuǎn)化為excel文件def csv_to_excel(in_path,out_path):    #獲取當(dāng)前目錄下所有的csv文件    file_list=[file  for file in os.listdir(in_path) if os.path.splitext(file)[1][1:]=="csv"]    #遍歷每個文件    for file in file_list:        #讀取文csv件數(shù)據(jù)        df=pd.read_csv(os.path.join(in_path,file),index_col=0)        #轉(zhuǎn)換為excel文件,不保存索引        df.to_excel(os.path.join(out_path,os.path.splitext(file)[0]+".xlsx"),index=False)    #輸出提示信息    print("轉(zhuǎn)換完成")#讀者可自己運(yùn)行觀察結(jié)果

7. 文件操作

參考文獻(xiàn):Python文件操作,看這篇就足夠 python 讀寫、創(chuàng)建 文件 python 文件操作,最全的一個(轉(zhuǎn)) Python文件操作

8. 數(shù)據(jù)讀入與寫入

參考文獻(xiàn):讀寫Excel文件第三方庫匯總

9. 缺失值問題 np.nan,None,NaT

文獻(xiàn)1 文獻(xiàn)2 https://blog.csdn.net/sinat_26811377/article/details/103216680 https://blog.csdn.net/laicikankna/article/details/106881864

10. 使用Python輸出回歸表格

https://github.com/divinites/stargazer-1 使用Stargazer模塊 https://lost-stats.github.io/Presentation/Tables/Regression_Tables.html https://qiita.com/huda_1629/items/d47d023936003ccf3fd1 https://cloud.tencent.com/developer/news/273282 利用python輸出規(guī)范的回歸結(jié)果,可惜百度網(wǎng)盤共享的 代碼不見了。 https://cloud.tencent.com/developer/article/1739458 可以參考一下 https://github.com/YangShuangjie/summary3 原來可以運(yùn)行,現(xiàn)在依賴包升級了,這個用不了了,希望哪個大神也升級一下這個程序。

from stargazer.stargazer import Stargazer model1_stargazer = Stargazer([model1]) model1_stargazer

import osos.chdir("d:\\")   #設(shè)置一下HTML輸出的目錄地址import pandas as pdfrom sklearn import datasetsimport statsmodels.api as smfrom stargazer.stargazer import Stargazerfrom IPython.core.display import HTMLdiabetes = datasets.load_diabetes()df = pd.DataFrame(diabetes.data)df.columns = ["Age", "Sex", "BMI", "ABP", "S1", "S2", "S3", "S4", "S5", "S6"]df["target"] = diabetes.targetest = sm.OLS(endog=df["target"], exog=sm.add_constant(df[df.columns[0:4]])).fit()est2 = sm.OLS(endog=df["target"], exog=sm.add_constant(df[df.columns[0:6]])).fit()est3 = sm.OLS(endog=df["target"], exog=sm.add_constant(df[df.columns[[2,4]]])).fit()est4 = sm.OLS(endog=df["target"], exog=sm.add_constant(df[df.columns[3:6]])).fit()stargazer = Stargazer([est, est2, est3, est4])HTML(stargazer.render_html()) #網(wǎng)頁上顯示表格#stargazer.render_html() #展示HTML原始代碼#或者如下代碼可以幫我們?nèi)ゴ鎯Y(jié)果,然后在Excel里面去編輯完美一點(diǎn):stargazer_tab = Stargazer([est, est2, est3, est4])stargazer_tabopen("regression.html", "w").write(stargazer_tab.render_html())  # for html

"

\n

Dependent variable:target

(1)(2)(3)(4)

ABP416.674***397.583***670.157***

(69.495)(70.870)(71.217)

Age37.24124.704

(64.117)(65.411)

BMI787.179***789.742***921.169*

(65.424)(66.887)(64.409)

S1197.852113.167202.038

(143.812)(64.409)(158.070)

S2-169.251-23.728

(142.744)(156.064)

Sex-106.578-82.862

(62.125)(64.851)

const152.133***152.133***152.133***152.133***

(2.853)(2.853)(2.967)(3.277)

Observations442442442442

R20.4000.4030.3490.207

Adjusted R20.3950.3950.3460.201

Residual Std. Error59.976 (df=437)59.982 (df=435)62.367 (df=439)68.901 (df=438)

F Statistic72.913***(df=4; 437)48.915***(df=6; 435)117.417***(df=2; 439)38.032(df=3; 438)

Note:\n p<0.1;\n p<0.05;\n ***p<0.01\n

以上代碼在notebook中運(yùn)行代碼,結(jié)果貼在CSDN中后有點(diǎn)小瑕疵,應(yīng)該是CSDN編譯的問題,在notebook中沒有問題。

https://github.com/YangShuangjie/summary3

# Load the data and fitimport numpy as npimport pandas as pdimport statsmodels.api as smimport statsmodels.formula.api as smf# olsdat = sm.datasets.get_rdataset("Guerry", "HistData").datares_ols = smf.ols("Lottery ~ Literacy + np.log(Pop1831)", data=dat).fit()#glmdata = sm.datasets.scotland.load()data.exog = sm.add_constant(data.exog)gamma_model = sm.GLM(data.endog, data.exog, family=sm.families.Gamma())res_glm = gamma_model.fit()# geedata = sm.datasets.get_rdataset("epil", package="MASS").datafam = sm.families.Poisson()ind = sm.cov_struct.Exchangeable()mod = smf.gee("y ~ age + trt + base", "subject", data, cov_struct=ind, family=fam)res_gee = mod.fit()# logitspector_data = sm.datasets.spector.load()spector_data.exog = sm.add_constant(spector_data.exog)logit_mod = sm.Logit(spector_data.endog, spector_data.exog)res_logit = logit_mod.fit()# load panel data and fit the modelfrom linearmodels.datasets import wage_paneldata = wage_panel.load()year = pd.Categorical(data.year)data = data.set_index(["nr", "year"])data["year"] = yearfrom linearmodels.panel import PooledOLSexog_vars = ["black","hisp","exper","expersq","married", "educ", "union", "year"]exog = sm.add_constant(data[exog_vars])mod = PooledOLS(data.lwage, exog)res_pooled = mod.fit()from linearmodels.panel import PanelOLSexog_vars = ["expersq","union","married"]exog = sm.add_constant(data[exog_vars])mod = PanelOLS(data.lwage, exog, entity_effects=True, time_effects=True)res_fe_re = mod.fit()from linearmodels.panel import FirstDifferenceOLSexog_vars = ["exper","expersq", "union", "married"]exog = data[exog_vars]mod = FirstDifferenceOLS(data.lwage, exog)res_fd = mod.fit()exog_vars = ["black","hisp","exper","expersq","married", "educ", "union"]exog = sm.add_constant(data[exog_vars])mod = PooledOLS(data.lwage, exog)res_robust = mod.fit(cov_type="robust")res_clust_entity = mod.fit(cov_type="clustered", cluster_entity=True)res_clust_entity_time = mod.fit(cov_type="clustered", cluster_entity=True, cluster_time=True)#我看了一下summary3的源代碼,作者添加了 to_excel 和 to_csv 等函數(shù)?,F(xiàn)在不能用了from summary3 import summary_col # summary_col(res_ols)summary_col([res_ols]) print(summary_col([res_ols,res_glm,res_gee,res_logit],more_info=["df_model","scale"]))print(sumary_col([res_fe_re,res_fd,res_robust,res_clust_entity,res_clust_entity_time],             regressor_order=["black"],show="se",title="Panel Results Summary Table"))summary_col([res_glm,res_logit]).to_excel()summary_col([res_clust_entity,res_fd]).to_csv("your path\\filename.csv")

# -*- coding: utf-8 -*-"""Created on Sun Dec  5 22:10:44 2021@author: Administrator"""import pandas as pdimport numpy as npfrom statsmodels.datasets import grunfelddata = grunfeld.load_pandas().datadata.year = data.year.astype(np.int64)# MultiIndex, entity - timedata = data.set_index(["firm","year"])from linearmodels import PanelOLSmod = PanelOLS(data.invest, data[["value","capital"]])fe_res_VS = mod.fit(cov_type="clustered", cluster_entity=True)pd.set_option("precision", 4)pd.options.display.float_format = "{:,.4f}".formatReg_Output_FAmount= pd.DataFrame()#1) Table1 = pd.DataFrame(fe_res_VS.params)Table1["id"] = np.arange(len(Table1))#create numerical index for pd.DataFrameTable1 = Table1.reset_index().set_index(keys = "id")#set numercial index as new indexTable1 = Table1.rename(columns={"index":"parameter", "parameter":"coefficient 1"})P1 = pd.DataFrame(fe_res_VS.pvalues)P1["id"] = np.arange(len(P1))#create numerical index for pd.DataFrameP1 = P1.reset_index().set_index(keys = "id")#set numercial index as new indexP1 = P1.rename(columns={"index":"parameter"})Table1 = pd.merge(Table1, P1, on="parameter")Table1["significance 1"] = np.where(Table1["pvalue"] <= 0.01, "***",\       np.where(Table1["pvalue"] <= 0.05, "**",\       np.where(Table1["pvalue"] <= 0.1, "*", "")))Table1.rename(columns={"pvalue": "pvalue 1"}, inplace=True) SE1 = pd.DataFrame(fe_res_VS.std_errors)SE1["id"] = np.arange(len(SE1))#create numerical index for pd.DataFrameSE1 = SE1.reset_index().set_index(keys = "id")#set numercial index as new indexSE1 = SE1.rename(columns={"index":"parameter", "std_error":"coefficient 1"})SE1["parameter"] =  SE1["parameter"].astype(str) + "_SE"SE1["significance 1"] = ""SE1 = SE1.round(4)SE1["coefficient 1"] = "(" + SE1["coefficient 1"].astype(str) + ")"Table1 = Table1.append(SE1)Table1 = Table1.sort_values("parameter")Table1.replace(np.nan,"", inplace=True)del P1del SE1fe_res_CVS = mod.fit(cov_type="clustered", cluster_entity=True)#2) Table2 = pd.DataFrame(fe_res_CVS.params)Table2["id"] = np.arange(len(Table2))#create numerical index for pd.DataFrameTable2 = Table2.reset_index().set_index(keys = "id")#set numercial index as new indexTable2 = Table2.rename(columns={"index":"parameter", "parameter":"coefficient 2"})P2 = pd.DataFrame(fe_res_CVS.pvalues)P2["id"] = np.arange(len(P2))#create numerical index for pd.DataFrameP2 = P2.reset_index().set_index(keys = "id")#set numercial index as new indexP2 = P2.rename(columns={"index":"parameter"})Table2 = pd.merge(Table2, P2, on="parameter")Table2["significance 2"] = np.where(Table2["pvalue"] <= 0.01, "***",\       np.where(Table2["pvalue"] <= 0.05, "**",\       np.where(Table2["pvalue"] <= 0.1, "*", "")))Table2.rename(columns={"pvalue": "pvalue 2"}, inplace=True) SE2 = pd.DataFrame(fe_res_CVS.std_errors)SE2["id"] = np.arange(len(SE2))#create numerical index for pd.DataFrameSE2 = SE2.reset_index().set_index(keys = "id")#set numercial index as new indexSE2 = SE2.rename(columns={"index":"parameter", "std_error":"coefficient 2"})SE2["parameter"] =  SE2["parameter"].astype(str) + "_SE"SE2["significance 2"] = ""SE2 = SE2.round(4)SE2["coefficient 2"] = "(" + SE2["coefficient 2"].astype(str) + ")"Table2 = Table2.append(SE2)Table2 = Table2.sort_values("parameter")Table2.replace(np.nan,"", inplace=True)del P2del SE2#Merging Tables and adding StatsReg_Output_FAmount= pd.merge(Table1, Table2, on="parameter", how="outer")Reg_Output_FAmount = Reg_Output_FAmount.append(pd.DataFrame(np.array([["observ.", fe_res_VS.nobs, "", fe_res_CVS.nobs, ""]]), columns=["parameter", "pvalue 1", "significance 1", "pvalue 2", "significance 2"]), ignore_index=True)Reg_Output_FAmount = Reg_Output_FAmount.append(pd.DataFrame(np.array([["Rsquared", "{:.4f}".format(fe_res_VS.rsquared), "",  "{:.4f}".format(fe_res_CVS.rsquared), ""]]), columns=["parameter", "pvalue 1", "significance 1", "pvalue 2", "significance 2"]), ignore_index=True)Reg_Output_FAmount= Reg_Output_FAmount.append(pd.DataFrame(np.array([["Model type", fe_res_VS.name, "", fe_res_CVS.name, ""]]), columns=["parameter", "pvalue 1", "significance 1", "pvalue 2", "significance 2"]), ignore_index=True)Reg_Output_FAmount = Reg_Output_FAmount.append(pd.DataFrame(np.array([["DV", fe_res_VS.model.dependent.vars[0], "", fe_res_CVS.model.dependent.vars[0], ""]]), columns=["parameter", "pvalue 1", "significance 1", "pvalue 2", "significance 2"]), ignore_index=True)Reg_Output_FAmount.fillna("", inplace=True)Reg_Output_FAmount.to_html()open("d://ss5.html", "w").write(Reg_Output_FAmount.to_html())  # for html

11. 特殊結(jié)構(gòu)數(shù)據(jù)整理

https://www.cnpython.com/qa/560110

import numpy as npfrom scipy.stats import norm, gaussian_kdeimport matplotlib.pyplot as pltimport pandas as pdfrom linearmodels.panel.data import PanelDatafrom linearmodels.panel import PanelOLS, PooledOLS, RandomEffects, comparefrom collections import OrderedDictimport wooldridgefrom statsmodels.formula.api import olsimport warningswarnings.filterwarnings("ignore")wagepan = wooldridge.data("wagepan")wooldridge.data("wagepan", description=True)np.random.seed(123)df = pd.DataFrame(np.random.randint(1,10,(4,12)),                   index=["ID 1", "ID 2", "ID 3", "ID 4"])df.columns = ["Q1", "Q2", "Q3", "Q4"]*3df.columns = [    df.columns.to_series().groupby(level=0).cumcount().map({0: "X", 1: "Y",2:"Z"}),    df.columns]df2=df.stack().rename_axis(["ID", "T"]).reset_index()

https://stackoverflow.com/questions/32835498/pandas-python-describe-formatting-output

這是典型的 縱向結(jié)構(gòu)(類似于面板數(shù)據(jù))的數(shù)據(jù) 轉(zhuǎn)換為 橫向排列的數(shù)據(jù)。

#這個是將描述性統(tǒng)計 與 相關(guān)系數(shù)表輸出,很簡單。df=df_finaltemp = df.groupby("firm")["fin0"].describe().reset_index()aaa=temp.stack(level=-1) #unstack(),unstack(level=-1) level can be -1, 0temp = df.corr().reset_index()# 模擬數(shù)據(jù)d = {"id": [1,1,1,2,2], "Month":[1,2,3,1,3],"Value":[12,23,15,45,34], "Cost":[124,214,1234,1324,234]}df = pd.DataFrame(d)df2 =    pd.pivot_table(df,                         values=["Value","Cost"],                        index=["id"],                        columns=["Month"],                        aggfunc=np.sum,                        fill_value=0)df2.columns =[s1 + str(s2) for (s1,s2) in df2.columns.tolist()]df2.reset_index(inplace=True)df2.columns = [" ".join(col).strip() for col in df2.columns.values]df2.index.name = None

12. 估計系數(shù)聯(lián)合檢驗(yàn)(Wald tests via statsmodels)

系數(shù)聯(lián)合相等,聯(lián)合等于0,任意兩個系數(shù)之差 檢驗(yàn),等等,諸如此類,都可以執(zhí)行 wald 檢驗(yàn)。

https://andrewpwheeler.com/2021/06/18/wald-tests-via-statsmodels-python/ https://github.com/apwheele/ 作者主頁 Often times interventions are general and may be expected to reduce multiple crime types, e.g. hot spots policing may reduce both violent crimes and property crimes. But we do not know for sure – so it makes sense to fit models to check if that is the case.

For crimes that are more/less prevalent, this is a case in which fitting Poisson/Negative Binomial models makes alot of sense, since the treatment effect is in terms of rate modifiers. The crossvalidated post shows an example in R. In the past I have shown how to stack models and do these tests in Stata, or use seemingly unrelated regression in Stata for generalized linear models. Here I will show an example in python using data from my dissertation on stacking models and doing Wald tests.

The above link to github has the CSV file and metadata to follow along. Here I just do some upfront data prep. The data are crime counts at intersections/street segments in DC, across several different crime types and various aspects of the built environment.

# python code to stack models and estimate wald testsimport pandas as pdimport numpy as npimport statsmodels.formula.api as smfimport patsyimport itertools# Use dissertation data for multiple crimes#https://github.com/apwheele/ResearchDesign/tree/master/Week02_PresentingResearchdata = pd.read_csv(r"d://DC_Crime_MicroPlaces.csv", index_col="MarID")# only keep a few independent variables to make it simplercrime = ["OffN1","OffN3","OffN5","OffN7","OffN8","OffN9"] #dropping very low crime countsx = ["CFS1","CFS2"] #311 calls for servicedata = data[crime + x].copy()data.reset_index(inplace=True)# Stack the data into long format, so each crime is a new rowdata_long = pd.wide_to_long(data, "OffN",i="MarID",j="OffCat").reset_index()data_long.sort_values(by=["MarID","OffN"],inplace=True)# Fit a model with clustered standard errorscovp = {"groups": data_long["MarID"],"df_correction":True}nb_mod = smf.negativebinomial("OffN ~ C(OffCat) + CFS1:C(OffCat) ",data_long).fit(cov_type="cluster",cov_kwds=covp)print(nb_mod.summary())# Conduct a Wald test for equality of multiple coefficientsx_vars = nb_mod.summary2().tables[1].indexwald_str = " = ".join(list(x_vars[6:-1]))print(wald_str)wald_test = nb_mod.wald_test(wald_str) # joint testprint(wald_test)# Or can do test all join equal 0nb_mod.wald_test_terms()# To replicate what wald_test_terms is doing yourselfall_zero = [x + "= 0" for x in x_vars[6:-1]]nb_mod.wald_test(",".join(all_zero))# Pairwise contrasts of coefficients# To get the actual difference in coefficientswald_li = []for a,b in itertools.combinations(x_vars[6:-1],2):    wald_li.append(a + " - " + b + " = 0")wald_dif = " , ".join(wald_li)dif = nb_mod.t_test(wald_dif) print(dif)# c"s correspond to the wald_li listres_contrast = dif.summary_frame()res_contrast["Test"] = wald_lires_contrast.set_index("Test", inplace=True)print(res_contrast)# Nicer function to print out the actual tests it interprets as# ends up being 1 - 3, 3 - 5, etc.def nice_lab_tests(test_str,mod):    # Getting exogenous variables    x_vars = mod.summary2().tables[1].index    # Patsy getting design matrix and constraint from string    di = patsy.DesignInfo(x_vars)    const_mat = di.linear_constraint(test_str)    r_mat = const_mat.coefs    c_mat = list(const_mat.constants)    # Loop over the tests, get non-zero indices    # Build the interpreted tests    lab = []    for i,e in enumerate(c_mat):        lm = r_mat[i,:] #single row of R matrix        nz = np.nonzero(lm)[0].tolist() #only need non-zero        c_vals = lm[nz].tolist()        v_labs = x_vars[nz].tolist()        fin_str = ""        in_val = 0        for c,v in zip(c_vals,v_labs):            # 1 and -1 drop values and only use +/-            if c == 1:                if in_val == 0:                    fin_str += v                else:                    fin_str += " + " + v            elif c == -1:                if in_val == 0:                    fin_str += "-" + v                else:                    fin_str += " - " + v            else:                if in_val == 0:                    fin_str += str(c) + "*" + v                else:                    if c > 0:                        sg = " + "                    else:                        sg = " - "                    fin_str += sg + str(np.abs(c)) + "*" + v            in_val += 1        fin_str += " = " + str(e[0]) #set equality at end        lab.append(fin_str)    return lab    #任意組合的變量組,聯(lián)合系數(shù)檢驗(yàn)。# Wald string for equality across coefficients# from earlierlab_tests = nice_lab_tests(wald_str,nb_mod)print(lab_tests)dif4 = nb_mod.t_test(lab_tests) print(dif4)# Additional test to show how nice_lab_tests function worksstr2 = "CFS2:C(OffCat)[1] = 3, CFS2:C(OffCat)[7] = CFS2:C(OffCat)[5]"nice_lab_tests(str2,nb_mod)dif3 = nb_mod.t_test(nice_lab_tests(str2,nb_mod)) print(dif3)

13. Python 與 STATA 時間日期轉(zhuǎn)換問題

參考文獻(xiàn):STATA時間格式

Python的時間常常是下面的樣子: ±--------------------------+ | datetime year | |---------------------------| 1. | 09sep1943 00:00:00 1943 | ±--------------------------+ 將其輸出到stata之中后,怎么樣獲取年月日等數(shù)據(jù)呢? 到了stata之后,格式顯示為 %tc double。 首先是顯示為年月日的形式: gen eventdate=dofc(datetime) #dofc是將函數(shù)格式轉(zhuǎn)化為日期 format eventdate=%td

gen year = yofd(dofc(datetime)) 顯示年月等等 gen day = dofy(dofc(datetime)) gen year = yofd(dofc(datetime)) //由天數(shù)數(shù)據(jù)計算年份

gen halfyear=hofd(dofc(datetime)) //由天數(shù)數(shù)據(jù)計算半年 format %thCCYY!hh halfyear

gen quarter=qofd(dofc(datetime)) //由天數(shù)數(shù)據(jù)計算季度數(shù) format %tqCCYY!qq quarter

gen month=mofd(dofc(datetime)) //由天數(shù)數(shù)據(jù)計算月度數(shù) format %tmCCYY-NN month or. format month %tmCY_N

gen week=wofd(dofc(datetime)) //由天數(shù)數(shù)據(jù)計算周數(shù) format %twCCYY!www week

14. Python執(zhí)行面板數(shù)據(jù)的Hausman檢驗(yàn)

參考文獻(xiàn):https://py4etrics.github.io/17_Panel.html 日本學(xué)者教學(xué)網(wǎng)站

#首先使用 PanelOLS 模塊來進(jìn)行 個體固定效應(yīng)、時間固定效應(yīng) 估計   formula_fe = "lwage ~ married + union + expersq \                      +d81+d82+d83+d84+d85+d86+d87 + EntityEffects"mod_fe = PanelOLS.from_formula(formula_fe, data=wagepan)est1 = mod_fe.fit()print(est1)#同學(xué)們,這個wald檢驗(yàn)有很多種,我們現(xiàn)在需要的是所有系數(shù)均=0的聯(lián)合檢驗(yàn)restriction = "married = union = expersq = d81=d82=d83=d84=d85=d86=d87=0"est1.wald_test(formula=restriction) #下面,我們將要進(jìn)行hausman檢驗(yàn),進(jìn)而確定是采用 隨機(jī)效應(yīng)還是 固定效應(yīng)模型,# 注意,這個檢驗(yàn)的 原假設(shè)是 支持采用隨機(jī)效應(yīng) 模型。# 第一步  應(yīng)用固定效應(yīng)模型 進(jìn)行擬合formula_fe = "lwage ~ married + union + expersq \                      +d81+d82+d83+d84+d85+d86+d87 + EntityEffects"mod_fe = PanelOLS.from_formula(formula_fe, data=wagepan)fe_res = mod_fe.fit()print(fe_res)# 第二步  應(yīng)用隨機(jī)效應(yīng)模型 進(jìn)行擬合formula_re = "lwage ~ married + union + expersq \                      +d81+d82+d83+d84+d85+d86+d87  "model_re = RandomEffects.from_formula(formula_re, data=wagepan) re_res = model_re.fit() print(re_res)# 第三步,運(yùn)用計量書本上的公式,自編函數(shù), 因?yàn)槟壳?Python里面沒有現(xiàn)成的模塊import numpy.linalg as lafrom scipy import statsimport numpy as npdef hausman(fe, re):    b = fe.params    B = re.params    v_b = fe.cov    v_B = re.cov    df = b[np.abs(b) < 1e8].size    chi2 = np.dot((b - B).T, la.inv(v_b - v_B).dot(b - B))      pval = stats.chi2.sf(chi2, df)    return chi2, df, pval# 第四步,將 1 2 步的結(jié)果帶入自編函數(shù)之中。hausman_results = hausman(re_res, fe_res) print("chi-Squared: " + str(hausman_results[0]))print("degrees of freedom: " + str(hausman_results[1]))print("p-Value: " + str(hausman_results[2]))# 第五步,看結(jié)果,如果這兒的 p-Value 小于 10%,則支持 固定效應(yīng) 模型。# 不過,我們的作業(yè),只是一個練習(xí), 不管這個 p-Value 等于多少,我們只提供固定效應(yīng)結(jié)果。# 計量的路很長,理論與軟件操作 缺一不可。

15. Fama Macbeth回歸、滾動回歸等等

https://fin-library.readthedocs.io/en/latest/BYU FIN 585 Library Documentation 這個上面提供了多個有用的包。https://pypi.org/project/finance-byu/#files 還有一些網(wǎng)頁也介紹了這個算法: https://www.cnblogs.com/jungsee/p/8448156.html我原來的主頁 https://www.kevinsheppard.com/teaching/python/notes/notebooks/example-fama-macbeth/數(shù)據(jù)也在這個教授的主頁上 https://randlow.github.io/posts/finance-economics/asset-pricing-regression/

相關(guān)討論的網(wǎng)頁: https://stackoverflow.com/questions/24074481/fama-macbeth-regression-in-python-pandas-or-statsmodels

https://www.e-learn.cn/topic/1620028

from finance_byu.fama_macbeth import fama_macbeth, fama_macbeth_parallel, fm_summary, fama_macbeth_numbaimport pandas as pdimport timeimport numpy as npn_jobs = 5n_firms = 1.0e2n_periods = 1.0e2def firm(fid):     f = np.random.random((int(n_periods),4))     f = pd.DataFrame(f)     f["period"] = f.index     f["firmid"] = fid     return fdf = [firm(i) for i in range(int(n_firms))]df = pd.concat(df).rename(columns={0:"ret",1:"exmkt",2:"smb",3:"hml"})df.head()result = fama_macbeth(df,"period","ret",["exmkt","smb","hml"],intercept=True)result.head()fm_summary(result)%timeit  fama_macbeth(df,"period","ret",["exmkt","smb","hml"],intercept=True)%timeit fama_macbeth_parallel(df,"period","ret",["exmkt","smb","hml"],intercept=True)  %timeit fama_macbeth_numba(df,"period","ret",["exmkt","smb","hml"],intercept=True)from finance_byu.statistics import GRSimport numpy as npimport pandas as pdn_periods = 1.0e2df = pd.DataFrame(np.random.random((int(n_periods),6)))df = df.rename(columns={0:"port1",1:"port2",2:"port3",3:"exmkt",4:"smb",5:"hml"})grsstat,pval,tbl = GRS(df,["port1","port2","port3"],["exmkt","smb","hml"])grsstatpvalfrom tabulate import tabulateprint(tabulate(tbl.render(),tablefmt="github",headers=tbl.render().columns))from finance_byu.summarize import summaryn_periods = 1.0e2df = pd.DataFrame(np.random.random((100,3))/10.,columns=["Port 1","Port 2","Port 3"])summary(df)

# -*- coding: utf-8 -*-from numpy import mat, cov, mean, hstack, multiply,sqrt,diag, \    squeeze, ones, array, vstack, kron, zeros, eye, savez_compressedfrom numpy.linalg import invfrom scipy.stats import chi2from pandas import read_csvimport statsmodels.api as smimport osos.chdir("d://")data =read_csv("FamaFrench.csv")# Split using both named colums and ix for larger blocksdates = data["date"].valuesfactors = data[["VWMe", "SMB", "HML"]].valuesriskfree = data["RF"].valuesportfolios = data.iloc[:, 5:].values# Use mat for easier linear algebrafactors = mat(factors)riskfree = mat(riskfree)portfolios = mat(portfolios)# Shape informationT,K = factors.shapeT,N = portfolios.shape# Reshape rf and compute excess returnsriskfree.shape = T,1excessReturns = portfolios - riskfree# Time series regressionsX = sm.add_constant(factors)ts_res = sm.OLS(excessReturns, X).fit()alpha = ts_res.params[0]beta = ts_res.params[1:]avgExcessReturns = mean(excessReturns, 0)# Cross-section regressioncs_res = sm.OLS(avgExcessReturns.T, beta.T).fit()riskPremia = cs_res.params# Moment conditionsX = sm.add_constant(factors)p = vstack((alpha, beta))epsilon = excessReturns - X @ pmoments1 = kron(epsilon, ones((1, K + 1)))moments1 = multiply(moments1, kron(ones((1, N)), X))u = excessReturns - riskPremia[None,:] @ betamoments2 = u * beta.T# Score covarianceS = mat(cov(hstack((moments1, moments2)).T))# JacobianG = mat(zeros((N * K + N + K, N * K + N + K)))SigmaX = (X.T @ X) / TG[:N * K + N, :N * K + N] = kron(eye(N), SigmaX)G[N * K + N:, N * K + N:] = -beta @ beta.Tfor i in range(N):    temp = zeros((K, K + 1))    values = mean(u[:, i]) - multiply(beta[:, i], riskPremia)    temp[:, 1:] = diag(values)    G[N * K + N:, i * (K + 1):(i + 1) * (K + 1)] = tempvcv = inv(G.T) * S * inv(G) / TvcvAlpha = vcv[0:N * K + N:4, 0:N * K + N:4]J = alpha @ inv(vcvAlpha) @ alpha.TJ = J[0, 0]Jpval = 1 - chi2(25).cdf(J)vcvRiskPremia = vcv[N * K + N:, N * K + N:]annualizedRP = 12 * riskPremiaarp = list(squeeze(annualizedRP))arpSE = list(sqrt(12 * diag(vcvRiskPremia)))print("        Annualized Risk Premia")print("           Market       SMB        HML")print("--------------------------------------")print("Premia     {0:0.4f}    {1:0.4f}     {2:0.4f}".format(arp[0], arp[1], arp[2]))print("Std. Err.  {0:0.4f}    {1:0.4f}     {2:0.4f}".format(arpSE[0], arpSE[1], arpSE[2]))print("\n\n")print("J-test:   {:0.4f}".format(J))print("P-value:   {:0.4f}".format(Jpval))i = 0betaSE = []for j in range(5):    for k in range(5):        a = alpha[i]        b = beta[:, i]        variances = diag(vcv[(K + 1) * i:(K + 1) * (i + 1), (K + 1) * i:(K + 1) * (i + 1)])        betaSE.append(sqrt(variances))        s = sqrt(variances)        c = hstack((a, b))        t = c / s        print("Size: {:}, Value:{:}   Alpha   Beta(VWM)   Beta(SMB)   Beta(HML)".format(j + 1, k + 1))        print("Coefficients: {:>10,.4f}  {:>10,.4f}  {:>10,.4f}  {:>10,.4f}".format(a, b[0], b[1], b[2]))        print("Std Err.      {:>10,.4f}  {:>10,.4f}  {:>10,.4f}  {:>10,.4f}".format(s[0], s[1], s[2], s[3]))        print("T-stat        {:>10,.4f}  {:>10,.4f}  {:>10,.4f}  {:>10,.4f}".format(t[0], t[1], t[2], t[3]))        print("")        i += 1                betaSE = array(betaSE)savez_compressed("fama-macbeth-results", alpha=alpha, beta=beta,                 betaSE=betaSE, arpSE=arpSE, arp=arp, J=J, Jpval=Jpval)from numpy import savezsavez("fama-macBeth-results.npz", arp=arp, beta=beta, arpSE=arpSE,      betaSE=betaSE, J=J, Jpval=Jpval)

16. 事件研究法 event study

https://www.lianxh.cn/news/90de95e42e8ff.html http://fmwww.bc.edu/repec/bocode/e/ https://zhuanlan.zhihu.com/p/348125854 前期準(zhǔn)備:使用eventstudy2命令需要先安裝用戶編寫的程序moremata、nearmrg、distinct、_gprod、rmse和parallel。

ssc install morematassc install nearmrgssc install distinctssc install _gprodssc install rmsessc install parallel

注:moremata可能存在安裝不成功的問題,這時可以選擇手動安裝。下載moremata.zip并解壓縮到指定文件夾路徑(例如E:\moremata),運(yùn)行如下命令

net install moremata, from(E:\moremata)

eventstudy2 執(zhí)行事件研究程序,并允許用戶指定設(shè)定已在金融領(lǐng)域和相關(guān)文獻(xiàn)中建立的幾個模型,例如原始收益率、市場模型、多因子模型和買入-持有異常收益率(BHAR)。估計窗口和事件窗口可以被自由選擇,可以計算多達(dá)10個窗口的累積(平均)異常(買入-持有)收益率。當(dāng)前eventstudy2的輸出結(jié)果提供了下列檢驗(yàn)統(tǒng)計量,它們均使用Mata編程語言:

eventstudy2 Security_id Date using Security_returns if Ea > 0.05, ///      ret(Return) car1LB(-1) car1UB(1) mod(FM) marketfile(Factor_returns) ///    mar(MKT) idmar(Market_reference) #市場模型,需要三個數(shù)據(jù)集支持這個算法模塊

import pandas as pdimport tushare as tstoken = "第一步準(zhǔn)備階段的接口復(fù)制到此處"pro = ts.pro_api("2f4f20d8b2fb57e033a820d04954b6f8a33f5a44c18b806189a802adsee")import matplotlib.pyplot as pltplt.style.use("fivethirtyeight")#畫圖風(fēng)格#獲取深交所指數(shù)列表,找創(chuàng)業(yè)板指數(shù)的代碼dfzs = pro.index_basic(market="szse")#獲取深證綜合指數(shù)基本信息df = pro.index_daily(ts_code="399107.SZ", start_date="20130101", end_date="20                                                                          211225")#h獲取深證綜合指數(shù)的交易日和日漲幅列df_index = df[["trade_date", "pct_chg"]]#df_index1 = df[["trade_date", "pct_chg"]]#調(diào)整日期格式并按照日期進(jìn)行排序df_index["trade_date"] = pd.to_datetime(df_index["trade_date"])df_index = df_index.sort_values("trade_date")#reset_index()重置索引,0,1,2,3#刪除index列df_index = df_index.reset_index().drop("index", axis=1)#將漲跌幅轉(zhuǎn)化為百分?jǐn)?shù)對應(yīng)的小數(shù)df_index["pct_chg"] = df_index["pct_chg"] / 100d2= pro.daily(ts_code="000333.SZ", start_date="20110121", end_date="20211225")d0 = d2[["trade_date", "pct_chg"]]d0.columns = ["trade_date", "return"]#df_index1 = df[["trade_date", "return"]]#調(diào)整日期格式為pandas格式,并按照日期進(jìn)行排序d0["trade_date"] = pd.to_datetime(d0["trade_date"])d0 = d0.sort_values("trade_date")#reset_index()重置索引,0,1,2,3#刪除index列d0 = d0.reset_index().drop("index", axis=1)#將漲跌幅轉(zhuǎn)化為百分?jǐn)?shù)對應(yīng)的小數(shù)d0["return"] = d0["return"] / 100#獲取美的集團(tuán)2013-01-01至2020-02-20的日漲幅數(shù)據(jù)d1= d0[(d0["trade_date"] >= "2013-01-01") & (d0["trade_date"] <= 3="" 5="" 100="" 123="" 600="" nandf_final="d1.merge(df_index," on="trade_date" how="left" events="[" from="" sklearn.linear_model="" import="" python="" def="" :="" linear_m="LinearRegression().fit(X," r_2="linear_m.score(X," y="estimate_df["return"]" rm="" return="" u="((y_true" -="" v="((y_true" coef_="" intercept_="" h="df_final[df_final["trade_date"]" target="df_final.loc[q:h].copy()" estimate_df="df_final.loc[q-160:q]" x="estimate_df[["pct_chg"]]" predict_x="target[["pct_chg"]]" a="df0["code"]返回的是series類型"""a" for="" e="" in="" events:="" bug:="" os="" pandas="" as="" pddf="pd.read_excel("eventdates.xlsx").drop_duplicates(["code"],keep="last")df0" axis="1)" dfcode="df0[["code"]]lcode" i="" lcode:="" ldf="df0[df0["code"]==i]#" key="0#" event="list(df0["date"])#" del="" tushare="" tstoken="2f4f20d8b2fb57e033a820d04954b6f8a33f5a44c18b806189a802adsee" pro="ts.pro_api(token)"""全指醫(yī)藥指數(shù)的日期及對應(yīng)的日收益率"""dfzs" market="SSE" dfyy="pro.index_daily(ts_code="000991.SH"," start_date="20190101" end_date="20210630" df_index="df_index.sort_values(" sort_value="" d2="pro.daily(ts_code=cd," d0="d0.reset_index().drop(" d0.columns="["trade_date"," df_index1="df[["trade_date"," d1="d0[(d0["trade_date"]">= "2014-01-01") & (d0["trade_date"] <= "2021-06-30")].copy()    #股票漲跌幅和市場漲跌幅    #以左側(cè)或d1為基礎(chǔ),交易日為關(guān)鍵值進(jìn)行合并,df_index沒有的值填充nan    df_final0 = d1.merge(df_index, on="trade_date", how="left")    return df_final0from sklearn.linear_model import LinearRegression#機(jī)器學(xué)習(xí)中的線性回歸"""函數(shù)作用:計算預(yù)期報酬率,CAPM資本市場定價模型,線性回歸x,y為預(yù)測期的指數(shù)日回報率和個股日回報率,線性回歸出相應(yīng)的函數(shù)pre_X是窗口期的指數(shù)日回報率最終帶入回歸函數(shù)算出預(yù)測指數(shù)回報率"""def get_OLS(X, y, pre_X):    linear_m = LinearRegression().fit(X, y)#基于數(shù)組x和y建立回歸模型    # r_2 = linear_m.score(X, y)#值越接近1越好,擬合優(yōu)度越好。    # print(f"構(gòu)建模型,擬合優(yōu)度為{round(r_2*100, 2)}%")    # print(f"y = {round(linear_m.intercept_,3)} + {round(linear_m.coef_[0],3)}Rm + e")    return linear_m.predict(pre_X)"""異常收益率的計算"""def get_data(event):    # print("事件日為: ", event)    q, h = df_final[df_final["trade_date"] == event].index[0] -3, df_final[df_final["trade_date"] == event].index[0] +3    target = df_final.loc[q:h].copy()    #窗口期    estimate_df = df_final.loc[q-110:q-11]    #估計期    X = estimate_df[["pct_chg"]]    #估計期深證綜合指數(shù)漲幅    y = estimate_df["return"]    #估計期個股的漲幅    predict_X = target[["pct_chg"]]    #窗口期的全職醫(yī)藥指數(shù)漲幅    target["E(Rt)"] = get_OLS(X, y, predict_X)     #預(yù)期收益率的計算    target["ARt"] = target["return"] - target["E(Rt)"]    #異常收益率 = 實(shí)際收益率 -預(yù)期收益率    target["CARt"] =  target["ARt"].cumsum()    #累計異常收益率 = 異常收益率在窗口期的求和    target = target.reset_index().drop("index",axis=1)    return target# df_final = getdf_final("002950.SZ")# car = get_data(event[0])# m = car.loc[11:20]["CARt"]car = pd.DataFrame()ar_car=pd.DataFrame()for i in range(len(lcode)):   df_final = getdf_final(lcode[i])   car0 = get_data(event[i])   car0["firm"]=lcode[i]   car0["event_date"]=event[i]   car0["interval_days"]=(car0["trade_date"]-car0["event_date"])   car0["interval"]=pd.Series(range(-3,4))   ar_car=ar_car.append(car0)   car[lcode[i]] = car0.loc[0:6]["CARt"]   plt.rcParams["savefig.dpi"] = 600 #圖片像素   plt.rcParams["figure.dpi"] = 600 #分辨率   car0.set_index("interval")[["ARt", "CARt"]].plot()

================== 持續(xù)更新中 ==================

項(xiàng)目 項(xiàng)目 項(xiàng)目 項(xiàng)目1項(xiàng)目2項(xiàng)目3計劃任務(wù)完成任務(wù)

創(chuàng)

創(chuàng)

K

您可以使用渲染LaTeX數(shù)學(xué)表達(dá)式 KaTeX:

Gamma公式展示 Γ ( n ) = ( n ? 1 ) ! ? n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n?1)!?n∈N 是通過歐拉積分

Γ ( z ) = ∫ 0 ∞ t z ? 1 e ? t d t ? . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz?1e?tdt.

U

F

導(dǎo)

導(dǎo)出

如果你想嘗試使用此編輯器, 你可以在此篇文章任意編輯。當(dāng)你完成了一篇文章的寫作, 在上方工具欄找到 文章導(dǎo)出,生成一個.md文件或者.html文件進(jìn)行本地保存。

導(dǎo)入

如果你想加載一篇你寫過的.md文件,在上方工具欄可以選擇導(dǎo)入功能進(jìn)行對應(yīng)擴(kuò)展名的文件導(dǎo)入, 繼續(xù)你的創(chuàng)作。

責(zé)任編輯:

標(biāo)簽:

相關(guān)推薦:

精彩放送:

新聞聚焦
Top 丰满老熟女av在线| 色www亚洲国产张柏芝| 三级日本美女少妇99| 99热精品夜夜爽伊人| 天堂av在线一区少妇| 日韩欧美免费看的惊悚片电影 | 2022国产情侣在线视频播放| 91高清免费在线播放| 欧美亚洲污视频网站| 午夜香蕉爽爽爽av| 漂亮人妻久久被公侵犯| 欧美精品色呦呦首页| 人妻色噜噜噜噜一区二区| 插屁眼在线免费视频| 日本在线观看视频黄大片www| 日本中文字幕第三区| 亚洲mv在线免费观看| 日韩一级片黄色av| av资源最新版在线天堂| 亚洲一二三区免费视频| 91久久久人妻精品一区二区| 欧美av在线观看网址| 夜夜躁爽日日躁狠狠躁一区| 伊人激情综合视频网| 欧美成人免费观看在线看| 日韩一级片黄色av| 熟女老骚91porn九色| 蜜桃精品www视频在线观看| 国产精品无码一区二| 亚洲欧美三级在线观看视频| 成人av毛片免费观看| 嗯啊好想要插我视频| 极品美女少妇高潮喷水| 日本a v中文字幕网| 日本丰满老熟妇bbw| 国产高清 国产av| 欧美一区二区三区视频在线观看| 亚洲最大的中文字幕在线| 久久av四色米奇影视| 丰满熟妇人妻一区二区三区| 国产日韩欧美高清无网码| 精品亚洲国产亚洲国产| 青娱乐休闲在线观看视频| 啪啪啪啪啪啪啪在线观看| 一级特黄夫妻生活大片| 亚洲va欧美va国产综合定档| 欧美极品少妇αv另类| 性色av一区二区三区咪爱四| 可以在线观看的av网站| 精区一品二品精区在线91| 亚洲另类视频图片小说| 91超碰在线播放视频| 午夜福利伦理片在线观看| 中文字幕福利在线观看| 91日本av在线观看| 亚洲经典国产一区二区三区 | 美女和猛男诱惑操逼捅鸡鸡| 超碰青青草原免费在线观看97| 都市激情亚洲春色男人皇宫| 成人专区禁18处网站| 欧美黄色网黄色欧美网| 97久久超碰成人精品网页91 | 国产主播在线露脸观看| 中文字幕欧美人妻精品精品| 日本不卡网在线观看视频| 成人中文字幕在线高清| 亚洲一点不卡福利视频| 538精品视频国产| 黄色的视频黑丝网站| 日韩专区欧美专区第五页| 青青日常在线免费观看| 国产精品美女久久久久av精| 日本一卡不带卡的视频| 99精品国产中文字幕| 亚洲AV永久青草无码士清品| 国产精品va在线观看老妇女| 成人中文字幕在线高清| 大香蕉av电影在线| 国产成年女人在线观看| av蜜臀一区二区三区| 色情按摩XXXXXX视频| 最新久久久久久久久久久| 日本少妇一二三视频| 亚洲综合精品天堂丁香芒果| 日韩毛片在线观看网站| 在线步兵一区二区三区| 成人av影视一区二区三区| 弄爽新婚人妻第五部美妙人妻| 免费av在线亚洲精品| 蜜桃精品噜噜噜av| 97超碰资源在线播放| 男人插女人逼视频播放| 水蜜桃在线视频一区二区三区| 天天摸天天舔天天透| 亚洲午夜激情视频在线播放| 男人的天堂av成人网| 精品人妻人人做人碰人人爽| 亚洲制服丝袜日韩欧美制服| 4438x视频在线| 国产一区二区三区在线资源| 亚洲第一视频在线视频| 欧美美女色视频免费看| 嗯嗯呐插进来嘛吸奶| 亚洲另类视频图片小说| av大片免费观看网站| 欧美极品少妇αv另类| 91精品国产在热久久| 92大香蕉一区二区三区| 国产亚洲精品久久久久久电影| av自拍偷拍一区二区| 自拍偷拍在线福利视频| 老窝鸭av一区二区三区| 在线播放__91色| 九九re热这里只有精品视频| 一区二区性视频在线观看| 中文字幕一区二区720p| 国产亚洲高清视频精彩在线播放| 人妻视频在线免费观看| 国产高清精品福利私拍国产写真| 午夜动漫福利在线观看| 一区二区啪视频在线观看| 强伦轩人妻一区二区三| 日韩午夜小视频合集| 日本道高清免费在线视频| 欧洲av网址在线观看| av在线视频观看免费| 亚洲狠狠婷婷久久综合| 欧洲码亚洲码一区二区三区四区| 蜜桃系列一区二区观看| 超级黄的有肉视频在线观看| 欧美 国产 一区二区三区| 中文在线天堂中文在线天堂| 最新欧美一级特黄大片| 婷婷色在线免费视频| 爱妃视频av一区二区| 国产美女精品久久久有奶水| 99久久人妻精品免费②区| 少妇人妻肉欲短视频| 在线观看麻豆免费视频| 亚洲第一视频在线视频| 97精产国品一二三产区区| 白丝骚逼美女被操到逼水直流| 午夜小视频 在线观看| 宅男视频在线观看视频| 日本少妇不卡狠狠狠| 久久综合精品五月天| 青青草毛片在线观看| 成人专区禁18处网站| 香蕉视频免费看国产精品| 五月天在线观看视频精品| 欧洲av网址在线观看| 放荡的丝袜美腿护士老师| 91:久久久久久久久久| 东京一区二区三区av在线| 91精品青草福利久久午夜| 国产亚洲精品久久久久久电影| 欧美人体一区二区视频| 大伊香蕉精品一区视频在线| 91免费福利视频专区| 91手机免费在线视频| 国产呻吟揉丰满一区三六区| 自拍偷拍 欧美亚洲| 国产伦精品一区二区三区妓国产 | 免费一级特黄特色黄录像| 18禁止看免费120秒试看| 亚洲图片 欧美专区 自拍| 欧美区一区一区三区| 各种玩小处雌女视频| 熟女老骚91porn九色| 在线免费观看国产欧美日韩| 国产主播在线露脸观看| 国产精品va在线观看老妇女| 超碰人人综合网97| 日本黄站一区二区在线观看| 亚洲精品日韩中文久久91| 老熟妇乱一区二区三区| 一卡二卡成人久久精品| 日本女人牲交的视频| 国产青青自拍视频在线观看看| 女高中生第一次破苞av| 国产午夜精品人妻中文字一幂| 最新69视频在线观看| 国产在线观看av专区| 日本国产精品第一页久久| 青青操一区二区三区| 欧美乱码卡1卡二卡3卡4| 激情黄色激情综合久久| 日产国产亚洲精品系列p| 日韩专区欧美专区第五页| 国产av电影网毛片| av看片资源网手机版在线播放| 亚洲高清码在线精品av| 中文乱码字幕人妻精品| 丰满女人的毛片久久久久久| 色婷婷综合久久精品一区二区三区| 国产天美传媒剧免费观看| 狠狠操狠狠操狠狠搞| 精品久久久免费av| 91av在线网址观看| 手机在线看日韩av资源| 国产精品视频综合一区二区| 四季亚洲中文专区av| 国产精品自拍视频网站| 内地伦理片在线免费观看播放| 真人一级一97片成人片| 被插到喷水视频在线观看| 极品美女少妇高潮喷水| 中年美熟妇与少年的激情| 人妻在线一区二区三区| 天天爱天天插天天射| 动漫卡通一区二区三区| 国产黄色片在线观看网站| 精品三区漫画图片分类| 大鸡吧淫水四射视频| 97人人澡人人添人人爽| 久久久久久久亚洲精品中文| 男女视频一区在线观看| 青青草原精品资源站| 午夜香蕉爽爽爽av| 亚洲男人平均性生活时间| 日本激情床震无遮掩视频| 亚洲区欧美区自拍偷拍区 | 亚洲最新欧美偷拍视频| 2023天天色天天操| 11yyy国产成人综合在线观看| 久产久91精国九品打| 18免费1000视频国产| 自拍偷拍在线福利视频| 国产亚洲精品免费观看| 在线播放三级黄色日韩av| 成人av影视一区二区三区| 黑人中出日本人妻系列| 手机在线看日韩av资源| 女高中生第一次破苞av| 欧美专区在线观看视频| 欧美国产一区二区三区| 亚洲一级中文字黄色片| 蜜臀av在线观看一区| 日韩级视频在线播放| 欧美亚洲变态另类在线观看| 人妻视频在线免费观看| 免费在线观看不卡高清av| 日本午夜色视频在线观看| 538精品视频国产| 亚洲和黑人特黄色片| 日日日日日日日夜夜夜夜夜| 日本老熟女人体艺术| 中文字幕 亚洲轻轻av| 蜜臀久久99精品久久久久久久久| 天天插天天舔天天日| 天天玩天天摸天天舔| 有故事情节的美女免费日逼视频| 青青日常在线免费观看| caopron在线成人免费| 日本伦精品一区二区三区免费| 亚洲天堂中文字幕手机在线| av亚洲欧美一区二区| 蜜臀久久99精品久久久久久久久| 加勒比久久综合久久678| 国产精品福利视频资源| 四十路の五十路熟女网址| 天天射天天舔天天看| 经典视频一区二区三区| 97人妻少妇熟女av| 日韩免费一卡二卡三卡四卡五卡 | 中文字幕不卡在线视频极品| 色综合人妻中文字幕| 18禁止看免费120秒试看| 老外插美女在线视频| 亚洲地址一区二区三区四区| 97超碰在线资源总站| 欧美日韩一区二区a∨视频| 日韩亚洲欧美中文在线电影| 瑟瑟免费在线观看视频| 免费在线一区二区视频| 91av在线网址观看| 国内在线精品视频在线观看| 老鸭窝大视频网站a一级| 免费观看黄色视频啊小穴啊| 在线免费观看精品一区| 182tv免费福利中文字幕| 超碰97在线观看免费| 熟女人妻伊人蜜桃视频| 男人插女人逼视频播放| 亚洲天堂啪啪爱之巢穴| 中文字幕av一区二区三区不卡| 91大神长腿美女视频在线观看| 真实国产乱子伦一区| 国产免费人妻人伦精品| 在线精品视频这里只有精品| 无码丝袜人妻高跟鞋| 日本中文字幕第三区| 亚洲国产av自拍网站| 日本午夜色视频在线观看| 老太熟妇乱淫aaaaa片免费| 国产性感美女诱惑免费av| 中文字幕亚洲专区婷婷| 国产精品福利视频资源| 最近免费中文字幕日韩| 日韩激情小说在线播放| xxxxxx日本少妇| 亚洲地址一区二区三区四区| 久久香蕉欧美日韩av蜜桃| 放荡的丝袜美腿护士老师| 99热在线都是精品免费| 天天插天天日天天操天天干| 日日夜夜精品视频观看| 公交车人妻免费视频| 操女人逼逼好爽啊操| 一区二区三区麻豆蜜桃视频| 9999精品久久久久| 好紧好湿好爽好大A视频| 男女视频一区在线观看| aaa夜夜夜精品视频| 网友自拍+人妻丝袜+制服诱惑| 91九色porny蝌蚪主页| 香蕉视频免费看国产精品| 人成免费视频一区二区三区| 国产精品大片在线观看网站资源| 91新视频在线免费观看| 91超碰在线播放视频| 色狠狠久久vs北条麻妃av| 少妇视频播放在线播放免费观看| 黄色小网站在线免费观看| av大片免费观看网站| 一区二区啪视频在线观看| 亚洲激情四射在线观看视频| 成人中文字幕在线高清| 公交车人妻免费视频| 色噜噜狠狠一区二区| 久久古典武侠第1页777| 日日夜夜精品视频观看| 精品国精品国自产在产国产| 亚洲国产精品成人综合色| 97超碰资源总站在线观看| 91精选一区二区三区四区| 丰满的人妻免费在线观看| 亚洲精品一二三在线观看| 精品人妻人人做人碰人人爽| 手机在线一区二区三区| 国产精品久久久久久电| 91精品在线观看视频| 青青青久免费在线视频| 亚洲最快不卡av综合| 日韩精品久久日日躁夜夜躁| 91久久人澡人妻天天做天天爽| 91久久精品视频地址| 午夜美女直播福利视频| 午夜一分钟视频免费在线观看| 91超碰在线播放视频| 91精品免费在线播放| 中文字幕亚洲精品八区| 中文字幕超碰18区| 亚洲狠狠婷婷久久综合| 久产久91精国九品打| 色婷婷综合久久精品一区二区三区 | 最近最新高清欧美日韩中文字幕 | chinese熟女熟妇1老熟妇| 手机视频免费在线观看| 成年人在线观看福利视频| 中国男人肏女人大屄的视频| 综合日韩人妻一区二区三区| 亚洲熟女国产午夜精品| 欧美一区二区三不卡| 欧美国产亚洲自拍偷拍| 欧美猛少妇色xxxxxhd| 成人网视频欧美在线观看| 国产熟女福利资源导航| 人妻欧美制服中文字幕| 亚洲熟女少妇 精品| 九色视频在线观看网址| 欧美专区在线观看视频| 无套内谢少妇一二三四| 欧美午夜免费福利视频| 视频在线免费观看97| 久久久精品欧美一区二| 色情按摩XXXXXX视频| 亚洲国产综合精品中文字幕| 人妻 日韩 欧美 综合 制服| 131美女午夜免费视频| 黄色片网站国产精品| 欧美码一二三区线观看| 青青操一区二区三区| 人妻熟妇中文字幕免费视频| 国产伦精品一区二区三区妓国产| 男生捅女生逼的免费视频软件| 欧美乱码卡1卡二卡3卡4| 中文字幕久久五月天| 男人午夜视频在线观看| 在线观看免费视频网站色| 好吊一区二区三区视频| 男女边摸边吃奶边做视频免费看| 黄色小网站在线免费观看| 色五月婷婷综合国产在线| 亚洲成电影在线观看青青| 啊啊啊啊在线视频观看| 久久久久一区二区三区四区| 97超碰人人澡香蕉| 日韩三级 欧美精品| 欧美vide0sde极品另类| 裸体一区二区三区av| 99国产精品视频播放| 一区二区三区四区无人区| 婷婷热re99久久精品国产| 久久久精品欧美一区二| 国产亚洲精品137片内射| 欧美乱码卡1卡二卡3卡4| 97国产精品人人爽人人做| 久久久精品欧美一区二| 91精品国产在热久久| 国产亚洲高清在线观看| 97人人添人躁人人爽超碰| 中文字幕人妻不卡久久| 精华液一区二区区别| 草莓视频精品在线观看| 免费观看日本伦理片| 偷怕自拍在线免费观看| 国产精品大片在线观看网站资源| 男女又黄又刺激a片免费| 国产乱人伦Av在线麻豆A| 中文字幕在线观看操穴视频| 在线人妻中文av导航| 美女爽爽午夜作爱视频1314| 成人专区禁18处网站| 国产女主播av在线播放观看| 国产免费自拍视频精选| 999精品视频免费看| 精品人妻一二三区更新| 欧美激情免费观看一区二区| 人妻精品无码一区二区三区百花| 亚洲女子4x100米接力决赛| 操女人逼逼好爽啊操| 91日本av在线观看| caoporn97超碰| 免费观看男人操逼的操女人的| 极品美女少妇高潮喷水| 尹人香蕉综合网在线观看| 免费可以看黄页的视频| 91午夜免费在线视频| 国产综合无码视频呢在线| 2017夜夜操天天操| 久久久com久久久com| 日韩夫妻性生活视频在线观看免费| 亚洲熟女少妇 精品| 日本激情床震无遮掩视频| av在线视频观看免费| 久9热精品视频在线播放| 中文字幕在线精品的视频| 亚洲图片偷拍30pxxx| 激情视频国产在线免费观看| 国产精品国产自产拍在线| 成人av在线国产精品| 大香蕉免费在线伊人| 精品久久久免费av| 丰满女人的毛片久久久久久| 久久久三级高清免费| 大香蕉av动作片在线观看| 露臀裙后入在线视频| 国产一二三区在线播放| 色婷亚洲五月在线观看| 久久综合精品五月天| 日本黄色录像第1部播放器播放| 自拍偷拍亚洲色图经典三级| 蜜桃视频app网站入口| 国产精品蜜臀在线观看| 国产日日夜夜精品视频免费| 国产女人AAA级久久久级| 91网在线视频中文字幕| 日本黄色an久久一区| 无套内谢少妇一二三四| 色丁香国产精品综合久久| 国产91手机精品在线播放| 欧美成人免费观看在线看 | 精品麻豆国产综合在线9| 国产福利一区二区三区久久久| 中文字幕亚洲亚洲激情| 亚洲风情 国内自拍av| 欧美一级特黄大片做受日本| 蜜臀国产精品久久久久久| 国产亚洲精品免费观看| 视频二区视频四区中文| 国产精品免费手机在线观看| 欧洲老妇人一区二区三区| 天天日天天操天天干天天舔天天射| 久久香蕉欧美日韩av蜜桃| 九九热在线视频观看最新| 国产精品v欧美精品v亚洲精品| av在线免费观看一区| 17c久久精品国产亚洲av蜜柚 | 亚洲国产av自拍网站| 白丝大胸美女操批内射视频| 国产精品视频成人在线观看| 午夜天堂网在线观看资源网站| 日本黄站一区二区在线观看| 人妻斩43r熟女人妻| 六月丁香六月在线视频| 99精品久久久久久噜噜| 美女爽爽午夜作爱视频1314| 日本欧美在线免费观看视频| 在线视频播放免费网站| 国产交换乱淫99视频| 国产又长又粗又硬又爽免费视频| 国产av国片精品jk制服| 日韩av在线免费观看中文字幕| 天天操天天舔天天操| 大屁股熟女少妇一区二区| 1234中文字幕内射在线| 亚洲国产欧美日韩综合| 国产综合无码视频呢在线| 男女啪啪视频免费国产| 国产精品不卡在线播放| 夜夜撸夜夜干夜夜操| 国产真人做爰免费观看| 天天透天天插天天日| 东京热tokyo黑人系列| 久久久久久久久久99蜜桃| 亚洲av永久无码精品尤物| 精品国产污网址在线观看| 成人免费午夜精品一区二区| 熟妇人妻二区桃色av| 国产女人AAA级久久久级| 97视频免费观看一区| 中文字幕成熟丰满人妻| 人妻 日韩 欧美 综合 制服| 国产在线观看XXXXX| 亚洲无码免费一二三区视频| 美女作污一区二区三区| 国产 福利 一区二区| 97人妻少妇熟女av| 日韩一二区内射电影| 漂亮人妻口爆深喉免费视频| 啊!用力操我!好爽| 好色av一区二区三区四区| 精品人妻一二三区更新| 成人网视频欧美在线观看| huangse网站免费观看| 啪啪啪啪啪啪啪在线观看| 北岛玲在线播放中文字幕| 美女主播一区二区三区| 午夜国产精品福利一二| 欧美大香蕉一区二区三区| dorcelclub欧美成人| 亚洲一区二区婷婷久久| 日韩一二区内射电影| 青青草国产免费在线观看 | 久久精品视频2015| 国产伦精品一区二区三区妓国产| 欧美日韩一区二区a∨视频| 水蜜桃在线视频一区二区三区| 69久久夜色精品国产69| 国产精品国产三级区别第一集| 色丁香国产精品综合久久| 经典视频一区二区三区| 亚洲中文精品第一页| 国产精品不卡在线播放| 亚洲清纯国产com| 亚洲 自拍 色综合图区av网站 | 美女摸自己下面出白浆的视频| 久操高清在线免费视频| 久久久久一区二区三区四区| 亚洲另类校园春色小说| 亚洲欧美久久精品免费| 麻豆精品传媒在线播放| 手机在线一区二区三区| 久久久精品国产综合| 中文字幕不卡在线视频极品| 久久中文字幕永久第一页| 欧美vide0sde极品另类| 少妇18禁久久yy| 黄色av网址免费观看| 熟女老骚91porn九色| 999人妻精品中出| 午夜一分钟视频免费在线观看 | 天天日,天天干,天天舔| 极品美女少妇高潮喷水| 男人天堂2017在线| 狠狠操视频在线免费观看| 色综合天天综合高清网国产在线 | 天天插天天日天天操天天干| 国产精品自产拍在线观| 亚洲第一中文视频 | 国产成年无码av片在线| 超碰av在线一区二区三区| 日本午夜色视频在线观看| av资源最新版在线天堂| 一区二区三区精品久久人妻| 亚洲欧美码免费观看视频| 中文字幕中文字幕在线一区| 丝袜美腿一区二区三区jk| 亚洲影视精品一区二区| 人妻色噜噜噜噜一区二区| 中文字幕精品无码一区二区三区| 国产亚洲精品a77777| 欧美在线中文字幕第一页| 国产福利一区二区三区久久久 | 51国精产品一区二区三| 青娱乐休闲在线观看视频| 中文字幕中文有码在线精品| 久久久久久久久久二区| 一区二区三区四区无人区| 中文av字幕在线观看| 欧美日韩黄色aaa| 亚洲中文精品第一页| 麻豆传媒视频区一区二| 大香蕉红杏在线观看| 精品黑丝袜一区二区三区| 亚洲另类视频图片小说| 野花日本高清在线观看| 亚洲图片av伦理三级| 91久久人澡人妻天天做天天爽| 石原莉奈一区二久久影视| 东京热tokyo黑人系列| 国内人妻自拍视频在线| 国产老妇女免费视频| 视频在线免费观看97| 国产精品亚洲精品久| 三级日本美女少妇99| 国产又长又粗又硬又爽免费视频| 一卡二卡成人久久精品| 97超碰在线中文字幕精品| 91免费一区二区久久| 五十六十日本老熟妇牲| 国产成人亚洲一区二区三区| 东京热tokyo黑人系列| 亚洲中文有码字幕青青| 欧洲老妇人一区二区三区| 熟女人妻 在线观看| 美女摸自己下面出白浆的视频| 中文字幕一区二区三区人妻| 天天操天天舔天天操| 亚洲av 综合一区| 99热在线这里只有精品| 桃子av在线免费观看| 色婷婷综合欧美日韩亚洲| 无套内射黑丝美女91| 97视频免费观看一区| 国产精品无码一区二| 日本少妇一二三视频| 被插到喷水视频在线观看| 在线成人中文字幕网站| 好几个美女吃我大鸡吧射嘴里| 男人插女人阴穴的视频| 亚洲专区 欧美日韩| 成人av在线播放老熟妇| 1234中文字幕内射在线| 亚洲精品在线免费观看视频| 久久日99久久里面有精品| 中文一区二区在线播放| 国产小视频在线播放| 夜夜躁爽日日躁狠狠躁一区 | 国产主播精品在线一区| 中文在线播放一区二区三区| 色尼玛图片亚洲综合| 国产一二三区在线播放| 国产熟女福利资源导航| 成人av黄片免费在线观看专区 | 日韩欧美亚洲精品高清国产| 国产精品剧情在线视频| 日韩精品网站免费观看ww| 7799精品视频免费观看| 亚洲视频资源在线播放| 99热在线都是精品免费| xxx一区二区三区在线观看| 美女福利在线免费观看| a区精品视频在线观看| 真人一级一97片成人片| 国产精品视频综合一区二区| 少妇厨房激情做爰欧美| 视频在线免费观看97| 最新黄色天堂av在线资源| 日本一道免费一二三区| 欧美丝袜办公室在线91| 大屁股熟女少妇一区二区| 天堂久久精品无码一区二区| 亲爱的请你原谅我 中文字幕| 日韩亚洲欧美中文在线电影| av在线播放网址大全| 亚洲va欧美va人人爽2| 欧洲av网址在线观看| 草草影院色视频免费在线观看| 91久久美利坚合众国保护| 蓝莓小视频在线观看| 日本超清有码在线观看| 2023天天色天天操| 大香蕉红杏在线观看| 17c久久精品国产亚洲av蜜柚| 欧美三级不卡不毒视频| 蜜桃精品噜噜噜av| 97精品视频久久久久| 伊人网av在线观看| 在线观看一区二精品视频| 青青草手机免费在线视频| 国产精品视频中文无码| 91激情视频在线视频| 中文字幕人妻免费电影| 亚洲精品在线免费观看视频| 久久久三级高清免费| 99精品国产九九国产精品| 大屁股熟女少妇一区二区| 北岛玲在线播放中文字幕| 一级毛片试看三分钟| 国产免费av天堂蘑菇视频| 在线免费观看国产欧美日韩| 北岛玲精品一区二区三| 国产美女在线极品美女网站| 视频免费在线观看网| 欧美精品日韩不卡免费| 熟妇av一区二区三区| 爱妃视频av一区二区| 78m中文字幕在线观看| 性美女毛片久久a区| 亚洲天堂啪啪爱之巢穴| 成人两性色午夜视频免费88AV| 人妻少妇精品视中文字幕国语| 狠狠色丁香久久综合频道日韩| 亚洲精品无码中文字幕专区| 美女啪啪啪免费网站视频| 亚洲码和欧洲码的尺码| 国产九色视频在线观看| 凹凸视频这里只有精品| 网友自拍+人妻丝袜+制服诱惑| 亚洲黄色小视频网址| 日韩欧美免费看的惊悚片电影| 99久久国产综合精品五月天| 中文字幕_第1页_绿茶av| 成人av在线播放老熟妇| 4438x视频在线| 蓝莓小视频在线观看| 中文字幕日产av一二三区| 青青色在线视频精品观看| 人成免费视频一区二区三区| 吃大咪咪操骚逼高清视频| 各种玩小处雌女视频| 欧美裸体xxxxx极品少妇| 91麻豆精品国产综合久久久主演| 少妇视频播放在线播放免费观看| 精品国产一区二区三区欧美精品| 欧美视频一区二区三区三州| 精品久久久久久无码中文野结衣| 亚洲精品乱码久久久久99| av看片资源网手机版在线播放| 亚洲影视精品一区二区| 97se狠狠狠狠狼鲁亚洲综合色| 欧美日本一区二区三区精品| 午夜少妇成人人妻av| 亚洲av天堂av在线| 91九色popny人妻| 国产大女露脸自拍大叫| 国内在线精品视频在线观看| 日韩精品性色一区二区在线观看| 久久久久久久岛国免费播放| 97视频免费观看一区| 大屁股熟女少妇一区二区| 国产精品自拍视频网站| 欧美日韩国产免费福利| 啊!用力操我!好爽| 日本在线不卡视频播放| xxx一区二区三区在线观看| 国产三级中文字幕av| 蓝莓小视频在线观看| 亚洲av狠狠的爱一区二区| 国语自产免费精品视频一区二区| 久操高清在线免费视频| 99久久精品岛国免费黄色网| 韩国的黄萝卜是怎么腌制的| 免费网站黄色在线观看不卡| 四季亚洲中文专区av| 日韩欧美 亚洲国产| 国产91边对白在线播放| 男女啪啪自拍露脸视频| 久久精品亚洲一区二区三| 鲁久久无码五月天有码| 尹人香蕉综合网在线观看| 欧美丝袜办公室在线91| 熟女国产一区二区三区| 成人自拍在线观看视频| 国产一二三区在线播放| 国语自产精品视频在线看一大j8| 97超碰在线资源总站| 亚洲 自拍 色综合图区av网站| 亚洲 欧美 日韩 另类在线| 日本亚洲综合伊人久久| 青青草视频在线观看播放影院免费| 欧美成在线在线视频| 久久人人妻人人做人人爽涩爱| 日韩美女av电影网| 99精品午夜一区二区三区| 国产高清 国产av| 亚洲av乱码国产精品观看麻豆| 经典视频一区二区三区| 男人的鸡插入美女的小穴| 亚洲狠狠婷婷久久综合| 美女主播一区二区三区| 玩弄放荡人妻少妇免费视频| 放荡的丝袜美腿护士老师| 国产免费自拍视频精选| 护士色视频亚洲婷婷| 欧洲老妇人一区二区三区| 亚洲国产成人精品久久久久久久久| aaa夜夜夜精品视频| 九色91在线只有精品| 美女被插免费视频网站| 蜜臀av在线地址一地址二| av亚洲欧美一区二区| av一区二区在线播放色婷婷精品| 人妻少妇精品视中文字幕国语| 国产精品v欧美精品v亚洲精品| 91精品一区二区三区蜜桃| 国产精品视频自拍一区| 欧美亚洲综合另类清纯自拍| 操女人逼逼好爽啊操| 被大鸡吧操骚B真爽视频| 一本v亚洲v天堂一区二区| 最近的中文字幕一区二区| 日韩一区=区三区四区| 在线不卡无毒你懂得| 老外插美女在线视频| 邪恶老湿精品一区二区| 美女福利在线观看视频| 激情黄色激情综合久久| 黄色小网站在线免费观看| 日本国产精品第一页久久| 亚洲欧洲视频一二三区| 最新中文字幕不卡av| 国产又黄又高潮又a的视频| kendralust熟女少妇| 日韩人妻熟妇精品xxx| 日韩一二三在线视频播放| 欧美极品少妇αv另类| 78m中文字幕在线观看| 男人插女人动漫视频| 91午夜免费在线视频| 91精品丝袜久久久| 成人午夜福利视频镇东影视| 久久久久久久国产黄色片| 韩国美女主播福利在线| 午夜美女直播福利视频| 91精品一区二区三区蜜桃| 少妇高潮一区二区三区在线| 国产老妇女免费视频| 国产55夜色66夜色男人的天堂| 欧美裸体xxxxx极品少妇| 亚洲插美女综合av| 国产综合无码视频呢在线| 91日本av在线观看| 色噜噜狠狠一区二区| 成人欧美网站免费直接看| 18禁止看免费120秒试看| 强行进女小姪女小芳| 中文字幕在线aⅴ免费观看| 福利动态视频午夜日本免费| 亚洲视频资源在线播放| 亚洲国产成人精品久久久久久久久| 美女爽爽午夜作爱视频1314| 国产精品福利视频资源| 人鱼小姐在线观看国语版字幕| 日本黄站一区二区在线观看| 一卡二卡成人久久精品| 欧美口爆吞精一区二区三区| 91成人在线观看免费| 91精品国语对白人妻刺激使劲| 免费午夜在线看福利片| 少妇又色又紧又爽又刺激视频| 在线观看免费a级电影| 国产寡妇又爽又紧又湿视频| 中文字幕av影片免费在线观看| 国产日韩欧美高清无网码| 黑人久久一区二区三区| 中文字幕 亚洲轻轻av| 一本久道久久综合狠狠躁| 国产精品8888在线观看| 亚洲av最新资源在线| 忘忧草精品久久久久久久高清 | 精品国产污污污免费网站入口| 中文视频久久在线观看| 几把操女的逼喷水视频| 国产美女在线极品美女网站| av大片免费观看网站| 自拍偷拍av一区二区三区| 亚洲国产成人一区二区久久久| 人妻色噜噜噜噜一区二区| 免费在线观看成人激情视频| 自拍偷拍国产欧美精品| 免费一级特黄特色黄录像| 欧美视频一区二区三区三州| 精品人妻一区二区三区18p| 国产 欧美 五月 激情| 欧美精品视频一卡二卡| 亚洲av在线观看久久久| 一本久道久久综合狠狠躁| 日本 高清 中文字幕| 精品人妻人人做人碰人人爽| 久久热高清在线观看| 三级大尺度无码视频| 日本少妇不卡狠狠狠| 欧美一区二区三区高清视频| 啪啪啪啪啪啪啪啪啪日本| 女高中生第一次破苞av| 欧美午夜免费福利视频| 天堂av在线一区少妇| 中文字幕 av 在线| 石原莉奈一区二久久影视| 婷婷国产一区二区三区| 亚洲最快不卡av综合| 17c日韩在线观看| 亚洲91色精品一区二区| 日本高清一级二级三级| 少妇18禁久久yy| 人妻少妇久久中文字幕密拍| 日本精品一区二区三区不卡| 9999国产精品免费| 清纯国模自拍视频在线观看| 自由的成熟女性色视频| 9l视频自拍蝌蚪9l成人熟妇| 丰满老熟女av在线| 日本少妇的秘密视频| 男人的天堂av 色噜噜| 国产加勒比精品蜜臀在线观看| 日韩黄色a影视在线免费观看网站 日本久久久久久久久人妻视频 | 国产交换乱淫99视频| 中文字幕中文字幕一区三区| 色综合天天综合高清网国产在线| 熟女国产一区二区三区| 日韩一区=区三区四区| 一本久道久久综合狠狠躁| 天天射天天舔天天看| 亚洲国产精品va在线观看香蕉| 91在线观看青青超碰| 久久中文字幕永久第一页| 中文字幕久久五月天| 色视频免费在线观看高清| 久亚洲aⅴ一区二区三区写真| 性美女毛片久久a区| 成年人免费视频网站在线播放| 日本超清有码在线观看| 夜夜色视频在线观看| 丝袜 制服 国产 欧美 日韩| 精品国产精品国产免费| 亚洲中文有码字幕青青| 91精品久久久久久久免费看| 亚洲国产精品成人综合色| 成人区人妻精品一区二区不卡蜜臀| 日本女人牲交的视频| 亚洲地址一区二区三区四区| 插屁眼在线免费视频| 9l视频自拍九色9l视频不卡| 日韩专区欧美专区第五页| 五月天久草亚洲香蕉| 国产高清激情在线视频| 91九色免费在线观看| 亚洲欧洲久久av日日更新| 91福利在线观看免费| 熟女视频一区二区在线观看| 深夜福利视频一区二区| 涩爱av一区二区在线播放视频| 亚洲经典国产一区二区三区| 国产 欧美 五月 激情| 91在线视频免费亚洲| 91精品国产人妻国产| 中文字幕在线观看观看av?| japanese国产在线播放| 亚洲天堂av影视在线| 99久久99久久综合| 亚洲天堂av影视在线| 啊啊啊啊在线视频观看| 啊啊啊啊啊鸡巴进小穴了视频| 人妻少妇麻豆中文字幕久久精品 | 成人中文字幕在线高清 | 午夜福利92一区二区三区久久| 全国最大成人 中文字幕| 好紧好湿好爽好大A视频| 日本xxxxx久久| 国产午夜精品一区二区不| 9999国产精品免费| 中年美熟妇与少年的激情| 被插到喷水视频在线观看| 蜜桃精品www视频在线观看| 最新97在线视频资源| 六月丁香六月在线视频| caoporn97超碰| 欧美日韩中文国产一区| 日本少妇人妻xxxxx16| 弄爽新婚人妻第五部美妙人妻 | 天天爽天天爽免费视频| www国产精品人妻| 99精品一区在线观看| 99久久精品岛国免费黄色网| 国产av电影网站一区| 亚洲天堂中文字幕手机在线| 在线精品视频这里只有精品| 亚洲国产综合精品中文字幕 | 国产男女激情视频一区| 又大又黄又粗又爽少妇毛片| 把鸡鸡伸进去的视频| 91热精品视频在线播放| 亚洲天堂国产精品乱伦一区| 美女扒开腿让男人桶网站| 可以免费看黄色的网址| 中国精品视频在线观看一区二区| 欧美一区二区三不卡| 广州最大的成人免费视频| av自拍偷拍一区二区| 黄片一级黄片一级黄片| 人视频一区二区三区| 免费在线观看成人激情视频| 五月婷婷丁香中文字幕亚洲一区| 国产小视频在线播放| 久久中文字幕永久第一页| 免费观看黄色视频啊小穴啊| 国产婷婷色一区二区三区| 在线观看国产剧情av| 国产熟女福利资源导航| 国产精品美女久久久久av精| 97超碰人人澡香蕉| av一区二区在线播放色婷婷精品 | 草草影院色视频免费在线观看| 中文字幕亚洲精品八区| 大逼小逼操大屌视频| 日韩精品网站免费观看ww| 人妻少妇精品视频专区专区| 男人的j插进女人的逼| 97视频免费观看一区| 中文字幕a区一区三区| 另类激情国产专区在线观看免费| 欧美三级不卡不毒视频| 午夜伦理在线在线观看视频| 乱色熟女综合一区二区三区四| 久久热免费在线观看视频| 人妻中文字幕影音先锋| 一级毛片试看三分钟| 黑人巨大欧美一区二区视频| 懂色av蜜臀av绯色| 51国精产品一区二区三| 中文字幕一二区二三区人妻专区| 视频一区二区在线观看视频| 瑟瑟免费在线观看视频| 石原莉奈一区二久久影视| 五月天在线观看视频精品| 在线精品视频这里只有精品| 亚洲熟女乱色综合小说| 日本在线观看公司入口视频| www人妻一区二区| 日产国产亚洲精品系列p| 玩弄人妻少妇精品视频在线| 日本一区二区三区综合网| 自拍偷拍亚洲色图经典三级| 99久久无色码中文字幕免费| 91福利在线观看免费| 日韩精品久久日日躁夜夜躁| 亚洲中字幕日产AV片在线| 都市激情中文字幕蜜桃| 欧美午夜理论片1000在线播放| 日本一区二区三区成人| 国产三级在线一区二区三区| 中文字幕中文字幕一区三区| 国产精品美女久久久久av精| 人妻女教师的沦陷大明| 久久热免费在线观看视频| 亚洲风情 国内自拍av| 78m中文字幕在线观看| 超级碰免费人妻97| 亚洲欧洲视频一二三区| 四季av在线一区二区三区| 在线能看的网站你懂得 | 无套内射黑丝美女91| 欧美区一区一区三区| 亚洲熟女国产午夜精品| 久久精品aⅴ无码中文字字幕蜜桃 中文字幕丝袜人妻乱一区三区 | 天堂av在线一区少妇| 色视频网在线视频观看| 自拍偷拍国产欧美精品| 色婷亚洲五月在线观看| 日本熟艳妇A站黄色视频| 亚洲专区 欧美日韩| 日本最新区免费中文字幕| 青青操在线超碰传媒| 日韩在线网站一区二区三区| 国产91福利在线导航| 国产午夜精品1区2区3区| 中文字幕久久五月天| 亚洲最大的中文字幕在线| 日本a v中文字幕网| 天天日天天草天天插| 精品黄色一级久久久久久久久| 一本v亚洲v天堂一区二区| 中文乱码在线观看一区| 中文字幕一区二区三区人妻| 日本丰满少妇毛茸茸| 免费观看亚洲女同性恋一区二区| 9999国产精品免费| 日本亚洲综合伊人久久| 亚洲夫妻另类在线视频| 熟女视频一区二区在线观看| 精品色欲久久久青青青人人爽| 亚洲三级色片视频在线观看| 国产免费午夜精品视频| 国产在线观看XXXXX| 加勒比人妻av系列专区| 可以免费直接观看的av| 五月天色婷婷亚洲欧美| 精品在线观看一区二区视频| 水蜜桃在线视频一区二区三区| 日本女人牲交的视频| 宅男视频在线观看视频| 国产精品8888在线观看| 中文字幕99精品一区| 91午夜免费在线视频| 亚洲熟女少妇 精品| 蜜桃精品噜噜噜av| 蜜臀av在线地址一地址二| 2023天天色天天操| 91精品国产99久久| 中文字幕在线观看一二三四| 亚洲精品一二三在线观看| 精品少妇人妻av免费麻豆| 日本性生活视频观看免费| 亚洲AV无码成人精品国产一区| 五月婷婷六月久久久| 日韩一级黄色片免费在线观看| 亚洲最大的中文字幕在线 | 麻豆精品传媒在线播放| 九九热线这里只有精品| 久久久久久久亚洲精品中文| av中文字幕 中文字幕第一页| 99久久精品岛国免费黄色网| 乱色熟女综合一区二区三区四| 插屁眼在线免费视频| 最近最新中文字幕资源在线| av黄片网站在线观看| 中文字幕丰满人妻fsdss| 狠狠躁夜夜躁人人爽天天BL| 动漫黄网站在线观看| 美女厕所撒尿偷拍视频| 欧美午夜理论片1000在线播放| 大香蕉久久久久久久久| 亚洲日韩色欧另类欧美色吊丝| 免费在线视频 中文字幕| 久久久国产亚洲精品黑人| 精品麻豆国产综合在线9| 97超碰人人澡香蕉| 精品视频在线观看剧情| 香蕉视频免费看国产精品| 吃大咪咪操骚逼高清视频| 老司机福利在线免费观看视频| 亚洲av乱码一区二区三区观影| 日韩精品网站免费观看ww| 熟妇人妻二区桃色av| 9l视频自拍九色9l视频不卡| 精品99久久久久久久久| 狠狠色丁香久久综合频道日韩| 大逼小逼操大屌视频| 日韩夫妻性生活视频在线观看免费| 久久热免费在线观看视频| 最新中文字幕不卡av| 在线观看国产剧情av| 在线观看免费精品一区| 亚洲精品在线免费观看视频| 91桃色午夜福利视频| 精品国产污污污免费网站入口| 狠狠添狠狠添狠狠添免费出高潮水| 最近最新中文字幕资源在线| 大屁股熟女少妇一区二区| 中文字幕99精品一区| 中文字幕人妻丝袜二区av| 亚洲综合精品天堂丁香芒果| 天堂av在线一区少妇| 国产在线成人精选视频| 中文一区二区在线播放| 中文字幕一区二区三区人妻| 日本激情内射一区二区三区| 国产高清 国产av| 美女福利在线观看视频| 强行进女小姪女小芳| 亚洲第一中文视频 | 性色av不卡一区二区三区 | 亚洲经典国产一区二区三区| 91精品国产在热久久| 石原莉奈一区二久久影视| 日本伦精品一区二区三区免费| 亚洲va欧美va人人爽2| caoporm超碰97| 人妻少妇资源网av| 免费观看黄片视频91| 制服诱惑,日韩情色| 国产精品视频成人在线观看| 巨大屁股女教师极品白嫩少妇| 蜜桃视频app网站入口| av在线免费一区二区| 9色porny人妻| av亚洲欧美一区二区| 制服中文丝袜国产日韩另类| 久久中文字幕永久第一页| 天天透天天插天天日| 日日夜夜精品视频观看| 成人av网站在线观看| 成人av网站在线观看| av精品一区二区三区免费观看| 欧美色视频日本片免费看| 黄片网址在线观看视频| 日本丰满少妇毛茸茸| 中文乱码字幕人妻精品| 亚洲av狠狠的爱一区二区| 国产av剧情网址大全| 亚洲欧美另类离制服丝袜| 久操高清在线免费视频| 99久久国产亚洲精品| 亚洲av熟女av熟女| 欧美精品色呦呦首页| 99精品久久久久久噜噜| 中国精品视频在线观看一区二区| 美女被鸡操黄片入口| 色偷偷东京热男人的天堂| 在线观看欧美日一区二区 | 欧美丝袜办公室在线91| 被插到喷水视频在线观看| 护士色视频亚洲婷婷| 99via精品福利影视| 另类激情国产专区在线观看免费| 日韩美女av电影网| 丰满女人的毛片久久久久久| 激情啪啪理论片中文字幕| 国产精品亚洲av国产| 激情黄色激情综合久久| 亚洲午夜在线亚洲午夜在线| 中文字幕日产av一二三区 | 手机视频免费在线观看| 色 小说 激情 图片| 中文字幕超碰18区| 91精品青草福利久久午夜| 欧美极品少妇αv另类| 亚洲第二页欧美视频| 国产老头视频在线观看| 一级av中文字幕在线观看| 伊人网av在线观看| 日本超清有码在线观看| 欧美图区一区二区三区| 成人午夜福利视频镇东影视| 不戴胸罩的人妻电影| 久久久久久久久久99蜜桃| 欧美大屁股撅起来射精视频| 国产天美传媒剧免费观看| 国产一二三区在线播放| 一区二区三区四区无人区| 国产小视频在线播放| 内地伦理片在线免费观看播放| 亚洲一级精品久久久蜜桃| 大伊香蕉精品一区视频在线 | 91九色porny蝌蚪主页| 五月天在线观看视频精品| 在线免费观看精品一区| 成人欧美网站免费直接看| 夜夜躁爽日日躁狠狠躁一区| 131美女午夜免费视频| 97香蕉在线17c| 韩国的黄萝卜是怎么腌制的| 男人的天堂在线免费av| 超级碰免费人妻97| 色婷亚洲五月在线观看| 91精品视频在线观看999| 亚洲国产精品成人综合色| 亚洲中文字幕综合av一区| 国产精品久久久免费99| 亚洲熟女国产午夜精品| 无码丝袜人妻高跟鞋| 人人妻人人澡人人爽dv| 自由的成熟女性色视频| 91久久精品视频地址| 欧美日韩精品免费看| 全国av一卡二卡三卡免费| 国产一级特黄aaa片做受小说| 淫色网亚洲av日韩av| 久久久com久久久com| 初撮日本五十路人妻| 999精品视频免费看| 中文字幕亚洲天堂av在线| 性美女毛片久久a区| 天天日天天爱天天玩| 欧美欧美欧美欧美欧美欧美| 日韩毛片在线观看网站| 亚洲黄色片免费在线| 亚洲天堂啪啪爱之巢穴| 深夜释放成人污污污| 久久久久久久久久二区| 91激情视频在线视频| 亚洲国产丰满熟女一区二区三区| 国产手机av免费在线看片不卡| 欧洲老妇人一区二区三区| 2021国产麻豆剧传媒精品入口| 亚洲情色在线视频播放| 亚洲91精选一区二区在线| 欧美国产一区二区三区在线看| 97se狠狠狠狠狼鲁亚洲综合色| 国产成年人性生活视频| 国产 欧美 五月 激情| 国内人妻自拍视频在线| 丝袜 制服 国产 欧美 日韩| 日本不卡视频免费播放| 日韩少妇中文字幕一区| 日本一区二区亚洲综合| 国语自产精品视频在线看一大j8| 人妻欧美制服中文字幕| 久久精品视频2015| 美女福利在线免费观看| 精品国精品国自产在产国产| 一级特黄夫妻生活大片| 国产 福利 一区二区| 又大又黄又粗又爽少妇毛片| 亚洲图片av伦理三级| 在线人妻中文av导航| 久久久精品国产亚洲av水| 欧美区一区一区三区| 青青色国产在线视频网站| 亚洲一区二区嗯好爽快点| 爱毛片在线成人免费看| 色婷婷综合久久精品一区二区三区| 欧美日韩中文国产一区| 亚洲天堂啪啪爱之巢穴| 69久久夜色精品国产69| 91av在线网址观看| 五月婷婷六月久久久| 色偷偷欧美男人的天堂| 精品在线观看一区二区视频| 国产 精品 日韩 人妻| 亚洲男人平均性生活时间| 秋霞一区二区三区小说| 裸体一区二区三区av| 天天透天天插天天日| 成人av中文字幕网址| 日本黄站一区二区在线观看| 日本一区二区三区成人| 在线步兵一区二区三区| 青青青久免费在线视频| 99久久精品岛国免费黄色网| 国产 福利 一区二区| 亚洲国产伦理久久精品| 国产免费av天堂蘑菇视频| 手机视频免费在线观看| 成人av毛片免费观看| 成年大片免费视频播放二级| 538精品新视频在线观看| 亚洲一区二区日韩欧美久久| 欧美人体一区二区视频| 人妻性奴隶免费观看| 男女又黄又刺激a片免费| 人妻熟女中文字幕电影| 中文热免费在线视频| 亚洲美女福利视频免费| 538精品新视频在线观看 | 欧美人妖一区二区三区| 9久久久久久久久久久| 青青青久免费在线视频| 少妇性感美女一区二区三区四区| 国产亚洲高清视频精彩在线播放| 天堂av在线男女av| 亚洲综合一区二区在线视频| 最近免费中文字幕日韩| 中文字幕 av 在线| 99久久国产综合精品五月天| 免费观看男人操逼的操女人的| 中文字幕亚洲情色在线观看| 青娱乐休闲在线观看视频| 国产婷婷色一区二区三区| 国产免费人妻人伦精品| 精品亚洲国产亚洲国产| 三级视频欧美视频亚洲视频| 国产伦精品一区二区三区妓国产 | 超碰av在线一区二区三区| 99热在线都是精品免费| 欧美一区二区三不卡| 国产天美传媒剧免费观看| 131美女午夜免费视频| 日韩在线网站一区二区三区| 国产大屁股影音在线播放| 人妻少妇久久中文字幕密拍| 亚洲另类校园春色小说| 玩弄饥渴放荡美熟妇岳| 天堂久久精品无码一区二区| 蜜桃少妇视频在线观看| 爱毛片在线成人免费看| gogo大尺度二区三区| 青青色国产在线视频网站| 一区二区三区高清在线| 中文字幕成熟丰满人妻| 精品久久久福利国产| 日韩欧美亚洲第五页| 都市激情亚洲春色男人皇宫| 男人插女人动漫视频| 一区二区三区高清在线| 露臀裙后入在线视频| 国产熟女福利资源导航| 97精产国品一二三产区区| 欧美三级不卡在线播放 | 四十路の五十路熟女网址| 在线 国产区 视频| 啪啪啪在线免费视频| 九一欧洲国产无码在线| 天天综合网精品视频天天看| 操女人逼逼好爽啊操| 青青草原精品资源站| 嫩草伊人久久精品少妇av网站| 97人人添人躁人人爽超碰| 国产 福利 一区二区| 一区二区三区精品久久人妻| 又大又黄又粗又爽少妇毛片| 国内人妻自拍视频在线| 美女精品一区二区三区| 国内老熟妇精品露脸视频| 亚洲在线视频一区二区| 午夜小视频 在线观看| 日韩人妻无码一区2区3区| 自由的成熟女性色视频| 六月丁香六月在线视频| 亚洲免费不卡一区二区三区| 97视频免费公开在线播放| av蜜臀免费在线观看| 成人免费午夜精品一区二区| 性色蜜月av一区二区三区| 1234中文字幕内射在线| 91精品丝袜久久久| 成年女女子免费视频播放| 内地伦理片在线免费观看播放| 亚洲熟妇少妇一区二区| 午夜福利92一区二区三区久久| 精品久久久久久成人| 免费观看日本伦理片| 日本伊人中文字幕在线| av一区二区在线播放色婷婷精品| 日本一道免费一二三区| 国产av电影网站一区| 亚洲av蜜臀在线观看| 日本不卡视频免费播放| 国产亚洲高清视频精彩在线播放| 国产性感美女诱惑免费av| 91在线观看青青超碰| 国产午夜精品在线播放| 在线能看的网站你懂得| 国产精品一线二线三区| 天天色天天操天天色综合| 人人妻,人人干,在线| 91九色国产自拍视频| 中文在线天堂中文在线天堂| 美女很黄很色国产av| 凹凸视频这里只有精品| 美女摸自己下面出白浆的视频 | 中文字幕在线aⅴ免费观看| 忘忧草精品久久久久久久高清 | 天天干天天插天天透| 日本人妻偷人妻中文字幕| 伊人婷婷视频在线观看| 国内人妻自拍视频在线| 中文字幕人妻二区三区免费视频| 一级毛片试看三分钟| 91:久久久久久久久久| 日韩一级片黄色av| 91社区男人都懂的网站| 自拍偷拍av一区二区三区| 国产av办公室丝袜在线| 中文字幕成熟丰满人妻| 白丝骚逼美女被操到逼水直流| 丰满人妻一区二区三区免费视频棣| 国产女人AAA级久久久级| 我的嫂子伦理片在线观看| 国产美女精品久久久有奶水| 国产综合无码视频呢在线| 欧美色视频日本片免费看| 秋霞午夜鲁丝片午夜精品久| 7799精品视频免费观看| 富婆按摩高潮一区二区三区91| 亚洲一区二二三区在线gk| 亚洲欧美激情人妻人妻综合| 4438x视频在线| 无套内射黑丝美女91| 最新69视频在线观看| 紫川动漫在线观看免费完整版| 无码大荫蒂视频在线| 亚洲av最新资源在线| 精品suv一区二区33| 日韩少妇中文字幕一区| 国产伦精品一区二区三区妓国产| 在线精品视频这里只有精品| 91中文字幕yellow| 免费在线一区二区视频| beeg欧美丰满人妻| 色婷婷综合欧美日韩亚洲| 狠狠操狠狠操狠狠搞| 欧美日本一区二区三区在线观看| 少妇被无套内谢免费观看| 91激情视频在线视频| 亚洲熟妇少妇一区二区| 一级特黄夫妻生活大片| 97精品视频久久久久| caoporn中文字幕视频| 成人av毛片免费观看| 9网网站免费看nb国产| 欧美一点不卡视频在线观看| 免费网站黄色在线观看不卡| 亚洲夫妻另类在线视频| 漂亮人妻视频免费在线播放| 国产主播精品在线一区| 国产成年无码av片在线| 午夜两性操一操在线观看嗯嗯啊 | 色 小说 激情 图片| 日本欧美视频免费观看| 日韩激情小说在线播放| 欧洲码亚洲码一区二区三区四区| 成人中文字幕在线高清| 伊人婷婷视频在线观看| 久久久国产亚洲精品黑人| 日本在线观看视频黄大片www| 日韩精品视频啊啊啊| 国产精品久久久久久一级精品| 天天干天天操天天射天天日| 亚洲av乱码一区二区三区四区| 精品一区二区三区别视频| 在线一区三区精品视频| 亚洲午夜短视频在线| 日韩精品性色一区二区在线观看 | 97超碰资源总站在线观看| chinese熟女熟妇1老熟妇| 国产综合欧美日韩在线观看 | 亚洲码欧洲码在线观看| ntr人妻セックス在线| AV成人国产免费久久精品| 中文热免费在线视频| 日本人妻偷人妻中文字幕| 美女穿白丝被啪啪到高潮| 亚洲熟妇少妇一区二区| 五月天色婷婷亚洲欧美| 国产精品一线二线三区| 国产老女人av一区二区三区| 日韩欧美激情啪啪啪| 亚洲黄色小视频网址| 中文字幕少妇av一区二区三区| 国产精成人品一区久图片| 污污污的视频免费在线观看| 野花日本高清在线观看| 精品国产成人在线免费| 人妻少妇精品视频专区专区| 94老司机福利社精品视频| 天天操日日干夜夜操| 中文字幕在线观看观看av?| 99久久99久久综合| 伊人网av在线观看| 中文字幕av一区二区三区不卡| 538精品视频国产| 中文字幕超碰18区| 91在线观看青青超碰| 啪啪啪啪啪啪啪啪啪日本| 人人爽人人爽人人妻| 青青国产的视频在线播放| 日韩欧美激情啪啪啪| 91精品在线观看视频| 欧美亚洲变态另类在线观看| 三级视频欧美视频亚洲视频| 人妻熟妇久久久久久xxx| 亚洲激情四射在线观看视频| 国产av在线播放免费| 91久久久久久久蜜桃| 黄色片网站国产精品| 亚洲av在线观看久久久| 亚洲日韩色欧另类欧美色吊丝| 亚洲黄色片免费在线| 欧美另类视频第二页| 中文字幕在线观看观看av?| 国产精品视频成人在线观看| 中文字幕激情亚洲精品| 亚洲国产长腿丝袜av天堂| 男女上下差差发哈插插插| 大香蕉太香蕉在线免费看| 午夜久久在线观看视频| 亚洲国产精品va在线观看香蕉| 最近中文字幕版2019日本| 免费观看黄色视频啊小穴啊| 精品一区二区三区最新| 国产精品视频成人在线观看| 欧美精品日韩不卡免费| av在线免费观看一区| 青青色在线视频精品观看| 男女啪啪自拍露脸视频| 天天摸天天舔天天透| 在线不卡无毒你懂得| 人妻熟妇中文字幕免费视频| 初撮日本五十路人妻| 91午夜免费在线视频| 手机看日韩av大片| 日韩黄色a影视在线免费观看网站 日本久久久久久久久人妻视频 | 久久久三级高清免费| 亚洲av乱码国产精品观看麻豆| 伊人婷婷视频在线观看| 91久久久人妻精品一区二区| 日产精品免费一区二区三区| 日本黄色录像第1部播放器播放| 日本一区二区三区综合网| 精品人妻人人做人碰人人爽| 97香蕉在线17c| 免费高清视频亚洲熟女| 91福利在线观看免费| 国产在线免费av观看| 亚洲第一视频在线视频| 人妻天天爽夜夜爽2区蜜a∨| 人人妻人人澡人人爽dv| 公交车人妻免费视频| 精品熟妇丰满人妻视频| 成人自拍在线观看视频| 国产主播在线观看一区二区| 宾馆偷拍一区二区三区| 亚洲图片av伦理三级| 99青青草原在线视频| 91国语对白精彩在线视频| 天天干天天操天天射天天日| 欧美的一区二区三区| 精品久久久福利国产| 久久热免费在线观看视频| 18禁止看免费120秒试看| 人人爽人人爽人人妻| 日本欧美在线免费观看视频| 亚洲 欧美视频在线| 五月天中文字幕亚洲| 人妻熟妇中文字幕免费视频| 欧美色高清vvvvvv| 一色桃子av人妻熟女完整版| 成年人午夜网站在线播放| 五月天久草亚洲香蕉| 94老司机福利社精品视频| 欧洲码亚洲码一区二区三区四区| 国产97日韩在线观看| 国产高新无码在线观看| 亚洲av天堂av在线| 污污污的视频免费在线观看| 亚洲国产精品午夜福利久久| 97超碰在线中文字幕精品| 亚洲欧美久久精品免费| 五月天色婷婷亚洲欧美| 香蕉视频免费看国产精品| 中文字幕人妻不卡久久|