官术网_书友最值得收藏!

2.8 Python中的日期和時(shí)間

量化交易經(jīng)常需要和時(shí)間打交道,對(duì)于一些日內(nèi)策略或交易頻率比較高的策略,對(duì)日期和時(shí)間的處理至關(guān)重要。Python提供了time、calendar、datetime等庫(kù),用于處理日期和時(shí)間,其中較為常用的是time庫(kù)和datetime庫(kù)。

2.8.1 time庫(kù)

在Python中,處理時(shí)間需要使用time庫(kù),導(dǎo)入time庫(kù)非常簡(jiǎn)單,使用import關(guān)鍵字即可。在導(dǎo)入time庫(kù)后,即可調(diào)用該庫(kù)中的函數(shù)對(duì)時(shí)間數(shù)據(jù)進(jìn)行處理。例如,使用time.time()函數(shù)可以讀取當(dāng)前時(shí)間的秒級(jí)時(shí)間戳,示例代碼如下:

輸出結(jié)果如下:

在這個(gè)例子中,首先使用import關(guān)鍵字導(dǎo)入time庫(kù),然后調(diào)用time庫(kù)中的time()函數(shù)獲取當(dāng)前時(shí)間戳,最后使用Log()函數(shù)將當(dāng)前時(shí)間戳打印到日志中。

2.8.2 什么是時(shí)間戳

時(shí)間戳是指自1970年1月1日(00:00:00 GMT)至當(dāng)前時(shí)間的總秒數(shù),常用的有秒級(jí)時(shí)間戳和毫秒級(jí)時(shí)間戳。時(shí)間戳具有唯一性,是用于驗(yàn)證某個(gè)時(shí)間點(diǎn)存在的數(shù)據(jù)。嚴(yán)格來(lái)說(shuō),無(wú)論在地球的哪個(gè)地方、哪個(gè)時(shí)區(qū),任意時(shí)間的時(shí)間戳都是相同的。示例代碼如下:

輸出結(jié)果如下:

在上述代碼中,調(diào)用time庫(kù)中的time()函數(shù)獲取當(dāng)前時(shí)間戳,然后使用type()函數(shù)判斷該時(shí)間戳的數(shù)據(jù)類(lèi)型。根據(jù)返回結(jié)果可知,該時(shí)間戳是float型數(shù)據(jù)。

2.8.3 將時(shí)間戳轉(zhuǎn)換為時(shí)間

根據(jù)前面的例子可知,時(shí)間戳是一個(gè)數(shù)字,在商品期貨中,所有數(shù)據(jù)都是基于時(shí)間戳的。但如果數(shù)據(jù)以時(shí)間戳形式顯示,看起來(lái)不直觀,不利于觀察和分析數(shù)據(jù),因此需要將時(shí)間戳轉(zhuǎn)換為時(shí)間。

將時(shí)間戳轉(zhuǎn)換為時(shí)間,可以使用time庫(kù)中的函數(shù)轉(zhuǎn)換,也可以使用發(fā)明者量化SDK中的_D()函數(shù)轉(zhuǎn)換。示例代碼如下:

輸出結(jié)果如下:

注意:時(shí)間戳是不分時(shí)區(qū)、全球統(tǒng)一的,在量化交易中一般不需要考慮時(shí)區(qū)的問(wèn)題。

主站蜘蛛池模板: 毕节市| 屏东市| 伽师县| 贵州省| 大荔县| 武隆县| 黄龙县| 许昌县| 郓城县| 泸溪县| 灵石县| 定边县| 明水县| 大悟县| 云龙县| 隆德县| 当雄县| 马龙县| 桑植县| 海宁市| 延安市| 宁乡县| 云阳县| 彰武县| 泉州市| 梅州市| 昆明市| 宁陵县| 新安县| 渝北区| 宁陕县| 千阳县| 五原县| 长泰县| 霍邱县| 中宁县| 庆阳市| 潮安县| 竹溪县| 于都县| 会宁县|