电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python量化交易實戰之使用Resample函數轉換“日K”數據

瀏覽:7日期:2022-06-17 16:29:12
目錄 一、什么是resample函數?二、實戰Resample函數1.日K 轉換為 周K2.匯總統計功能(統計月成交量、成交額)3.日K 轉換為 月K

使用Resample函數轉換時間序列

一、什么是resample函數?

它是Python數據分析庫Pandas的方法函數。

它主要用于轉換時間序列的頻次。可以做一些統計匯總的工作。

什么叫轉換時間序列的頻次呢?

比如說股票的日k和周k,

假設我只能獲取到股票日K的數據,比如說11月1號到11月5號,那怎么樣將它轉換為以周為單位的K線呢?

日期 周期 開盤價 收盤價 最高價 最低價 11月1號 周一 1.11 1.11 1.11 1.12 11月2號 周二 1.12 1.12 1.11 1.12 11月3號 周三 1.13 1.13 1.11 1.12 11月4號 周四 1.15 1.14 1.11 1.12 11月5號 周五 1.14 1.15 1.11 1.12

首先我們要明確,周K的開盤、收盤、最高、最低是什么。每周的開盤價是當周第一天的開盤價,收盤價是當周最后一天的收盤價,它的最高價是這周最高的價格,最低價是本周所有最低價中最低的價格。所以你去看炒股平臺,它的周k都是以周五的交易日為記錄的時間點位置。開盤、收盤、最高、最低是按照我剛剛講解的這個規則來計算的。至于月K、年K的選取規則也是一樣的。月K的周期是一個月,年K的周期是一年。

這個計算準確性你也可以通過網上的數據進行驗證。這個計算規則,包括開盤、收盤、最高、最低的計算,收拾resample函數可以做到的事情。此外Resample還有個功能,就是做統計匯總,比如說我想計算一支股票總的周成交量,就可以使用Resample.sum函數去把周一到周五的成交量加起來。

為了方便大家記憶 ,你也可以把resample理解為Excel表格中的透視表功能。你可以按照日期做各種篩選和匯總統計的。最重要的是他可以按照日期。

二、實戰Resample函數

因為這2節課還是一些比較基礎的部分,所以還沒有做模塊化的內容。

我們會在創建股票數據庫的時候 來做真正的模塊化的工作。到這里都是初級的腳本的形式。先提前說下。

1.日K 轉換為 周K

1.1函數文檔學習

谷歌搜索Pandas Resample:第一個鏈接就是這個函數的官方文檔

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.resample.html

Python量化交易實戰之使用Resample函數轉換“日K”數據

這里有介紹:Resample是屬于Pandas DataFrame下面的方法。這里有關于參數的解釋。

這里我們只對2個常用參數講解,一個是rule,另一個是closed。

rule表示的是你放一個什么樣的周期性指標在里面,用m代表Month,Y代表Year,w代表Week, closed代表你取哪一個分界線,舉例來說,比如說我把日k轉換為周k,到底我是取周一為分界線還是周五為分界線呢?這就是通過closed來確定的。

這里有它的例子:

>>>index = pd.date_range(’1/1/2000’, periods=9, freq=’T’)>>>series = pd.Series(range(9), index=index)>>>series2000-01-01 00:00:00 02000-01-01 00:01:00 12000-01-01 00:02:00 22000-01-01 00:03:00 32000-01-01 00:04:00 42000-01-01 00:05:00 52000-01-01 00:06:00 62000-01-01 00:07:00 72000-01-01 00:08:00 8Freq: T, dtype: int64

這里首先創建了一個時間序列的DataFrame,就是這個series變量。你可以理解為它是一個只有一個字段的表格樣式。接著往下看:

>>>series.resample(’3T’).sum()2000-01-01 00:00:00 32000-01-01 00:03:00 122000-01-01 00:06:00 21Freq: 3T, dtype: int64

這里使用了Resample方法,3T就是3分鐘,T表示分鐘。sum()就是匯總,也就是針對這一列數據進行匯總。

也就是說,每3分鐘統計依次。注意到,這個時間序列匯總的時間取的值是3分鐘的第一分鐘。如果我想取時間周期的最后一分鐘,可以將label的值改為“right':

>>>series.resample(’3T’, label=’right’).sum()2000-01-01 00:03:00 32000-01-01 00:06:00 122000-01-01 00:09:00 21Freq: 3T, dtype: int64

1.2實戰

獲取日K真實的數據:

#獲取日kdf = get_price('000001.XSHG', end_date=’2021-05-30 14:00:00’,count=20, frequency=’1d’, fields=[’open’,’close’,’high’,’low’,’volume’,’money’]) print(df)

Python量化交易實戰之使用Resample函數轉換“日K”數據

可以看到獲取到了4月28號到5月28號的所有數據。為了更方便理解 我們再添加一列數據,就是當前日期是星期幾的列。

#獲取日kdf = get_price('000001.XSHG', end_date=’2021-05-30 14:00:00’,count=20, frequency=’1d’, fields=[’open’,’close’,’high’,’low’,’volume’,’money’]) df[’weekday’]=df.index.weekdayprint(df)

Python量化交易實戰之使用Resample函數轉換“日K”數據

這里0代表周一,這里如何轉換為按“”統計呢

#獲取周kimport pandas as pddf_week = pd.DataFrame()df_week = df[’open’].resample(’W’).first()print(df_week)

Python量化交易實戰之使用Resample函數轉換“日K”數據

可以看到這里的2021-05-30是一個禮拜的最后一天。它對應的開盤價確實是這個數字。說明我們計算的周K數據是正確的。

收盤價就是每周收盤價最后一天的數據。

最高價就是每周收盤價的最大值。

最低價就是每周收盤價的最小值。

#獲取周kimport pandas as pddf_week = pd.DataFrame()df_week[’open’] = df[’open’].resample(’W’).first()df_week[’close’] = df[’close’].resample(’W’).last()df_week[’high’] = df[’high’].resample(’W’).max()df_week[’low’] = df[’low’].resample(’W’).min()print(df_week)

Python量化交易實戰之使用Resample函數轉換“日K”數據

對比數據,close是最后一天的收盤價的數據。high是當前周的每天的最高價的最高價。low是當前周的每天的最低價的最低價。

我們通過不到10行代碼就能將日K的數據轉換為周K的數據。

2.匯總統計功能(統計月成交量、成交額)

匯總成交量和成交額

我想要把volume(成交量)和money(成交額)轉換為總成交量總成交額

#獲取周kimport pandas as pddf_week = pd.DataFrame()df_week[’open’] = df[’open’].resample(’W’).first()df_week[’close’] = df[’close’].resample(’W’).last()df_week[’high’] = df[’high’].resample(’W’).max()df_week[’low’] = df[’low’].resample(’W’).min()df_week[’volume(sum)’] = df[’volume’].resample(’W’).sum()df_week[’money(sum)’] = df[’money’].resample(’W’).sum()print(df_week)3.日K 轉換為 月K

假設我有一年的數據,如果想轉換為月K應該怎么轉?

只需要改2個地方:

添加start_date獲取到一整年的數據 將resample的參數改為M即可,M代表Month

#獲取日kdf = get_price('000001.XSHG', end_date=’2021-05-30 14:00:00’, start_date=’2020-05-30’, frequency=’1d’, fields=[’open’,’close’,’high’,’low’,’volume’,’money’]) df[’weekday’]=df.index.weekdayprint(df)#獲取周kimport pandas as pddf_week = pd.DataFrame()df_week[’open’] = df[’open’].resample(’M’).first()df_week[’close’] = df[’close’].resample(’M’).last()df_week[’high’] = df[’high’].resample(’M’).max()df_week[’low’] = df[’low’].resample(’M’).min()print(df_week)

以上就是Python量化交易實戰之使用Resample函數轉換“日K”數據的詳細內容,更多關于Python Resample函數轉換“日K”數據的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 南京PVC快速门厂家南京快速卷帘门_南京pvc快速门_世界500强企业国内供应商_南京美高门业 | 冲击式破碎机-冲击式制砂机-移动碎石机厂家_青州市富康机械有限公司 | 浙江自考_浙江自学考试网 | 动库网动库商城-体育用品专卖店:羽毛球,乒乓球拍,网球,户外装备,运动鞋,运动包,运动服饰专卖店-正品运动品网上商城动库商城网 - 动库商城 | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 杭州标识标牌|文化墙|展厅|导视|户内外广告|发光字|灯箱|铭阳制作公司 - 杭州标识标牌|文化墙|展厅|导视|户内外广告|发光字|灯箱|铭阳制作公司 | 盐城网络公司_盐城网站优化_盐城网站建设_盐城市启晨网络科技有限公司 | 苏州西装定制-西服定制厂家-职业装定制厂家-尺品服饰西装定做公司 | PE拉伸缠绕膜,拉伸缠绕膜厂家,纳米缠绕膜-山东凯祥包装 | SMN-1/SMN-A ABB抽屉开关柜触头夹紧力检测仪-SMN-B/SMN-C-上海徐吉 | CPSE安博会| 电镀电源整流器_高频电解电源_单脉双脉冲电源 - 东阳市旭东电子科技 | 冷镦机-多工位冷镦机-高速冷镦机厂家-温州金诺机械设备制造有限公司 | 顺辉瓷砖-大国品牌-中国顺辉 | 安徽免检低氮锅炉_合肥燃油锅炉_安徽蒸汽发生器_合肥燃气锅炉-合肥扬诺锅炉有限公司 | 双吸泵,双吸泵厂家,OS双吸泵-山东博二泵业有限公司 | 煤机配件厂家_刮板机配件_链轮轴组_河南双志机械设备有限公司 | 液压油缸生产厂家-山东液压站-济南捷兴液压机电设备有限公司 | 深圳标识制作公司-标识标牌厂家-深圳广告标识制作-玟璟广告-深圳市玟璟广告有限公司 | 聚合氯化铝_喷雾聚氯化铝_聚合氯化铝铁厂家_郑州亿升化工有限公司 | 重庆监控_电子围栏设备安装公司_门禁停车场管理系统-劲浪科技公司 | VI设计-LOGO设计公司-品牌设计公司-包装设计公司-导视设计-杭州易象设计 | 屏蔽服(500kv-超高压-特高压-电磁)-徐吉电气 | 中医治疗皮肤病_潍坊银康医院「山东」重症皮肤病救治平台 | SPC工作站-连杆综合检具-表盘气动量仪-内孔缺陷检测仪-杭州朗多检测仪器有限公司 | 浙江筋膜枪-按摩仪厂家-制造商-肩颈按摩仪哪家好-温州市合喜电子科技有限公司 | 玻璃瓶厂家_酱菜瓶厂家_饮料瓶厂家_酒瓶厂家_玻璃杯厂家_徐州东明玻璃制品有限公司 | 压力变送器-上海武锐自动化设备有限公司| 净气型药品柜-试剂柜-无管道净气型通风柜-苏州毕恩思 | 搜活动房网—活动房_集装箱活动房_集成房屋_活动房屋 | 郑州宣传片拍摄-TVC广告片拍摄-微电影短视频制作-河南优柿文化传媒有限公司 | 河南正规膏药生产厂家-膏药贴牌-膏药代加工-修康药业集团官网 | 喷播机厂家_二手喷播机租赁_水泥浆洒布机-河南青山绿水机电设备有限公司 | 英国雷迪地下管线探测仪-雷迪RD8100管线仪-多功能数字听漏仪-北京迪瑞进创科技有限公司 | 减速机_上海宜嘉减速机| 福兰德PVC地板|PVC塑胶地板|PVC运动地板|PVC商用地板-中国弹性地板系统专业解决方案领先供应商! 福建成考网-福建成人高考网 | 对辊破碎机-液压双辊式,强力双齿辊,四辊破碎机价格_巩义市金联机械设备生产厂家 | CE认证_产品欧盟ROHS-REACH检测机构-商通检测 | 今日热点_实时热点_奇闻异事_趣闻趣事_灵异事件 - 奇闻事件 | 防水试验机_防水测试设备_防水试验装置_淋雨试验箱-广州岳信试验设备有限公司 | 鄂泉泵业官网|(杭州、上海、全国畅销)大流量防汛排涝泵-LW立式排污泵 |