成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python期貨量化交易中常用的數據類型有哪些?

開發
Python解釋器在啟動時會創建None、True、False三個常量,None表示“無”,True表示“真”,False表示“假”。None、True、False這三個常量在量化策略中會經常用到。還有Ellipsis常量與省略號的字面含義相同,常用在注釋當中。

1 常用內置常量

Python解釋器在啟動時會創建None、True、False三個常量,None表示“無”,True表示“真”,False表示“假”。

None是NoneType類型的唯一值,表示缺少值或空值,例如,當函數沒有返回值時會默認返回None值。

因為Python用“有”和“無”來表示“真”和“假”,“有”為真,“無”為假,所以None、0、空字符串、空列表、空字典都是假,非“空”數據則為真。

True和False是bool類型的值,True和False除了表示真和假,其本身也有值,True的值為1,False的值為0,可以與數值做計算。例如,5+True結果為6,3*False結果為0,1==True結果為True,1 is True結果為False,以上示例說明True的值為1,但True在內存中的地址和整數1的地址不同。

None、True、False這三個常量在量化策略中會經常用到。還有Ellipsis常量與省略號的字面含義相同,常用在注釋當中。

2 整型

在計算交易手數時需要用到整型,如1、2、3、4。

Python可以直接用整數進行計算,當在Python代碼中輸入整數數值時,Python會自動把輸入的數值創建為整型。

當然,你也可以用整型類int()創建整數,給整型類int()傳遞數值參數,int()便會把數值參數轉換為整型。例如,int(5.89)的結果是5,轉換時只保留了整數部分;int('123')的結果是123,把字符串類型轉換成了整數類型。

我們可能需要從本地文件中讀取數據,比如保存在本地的成交數據,所讀取的數據通常是字符串類型,要把字符串類型轉換成整型才能參與相關計算。

整型可以是正數也可以是負數,如3和?3。在量化策略中可定義凈持倉pos=3,表示凈多頭3手;定義pos= -3,表示凈空頭3手。

3 浮點型

價格、保證金等屬于浮點型數值,浮點型數值是帶有小數點的小數。

類似于整型,Python可以直接用浮點型數值計算,也可以用浮點型類float()創建浮點型數值。例如,float(5)結果是5.0,在轉換整數時增加了一個小數位;float('5.999')結果是5.999,把字符串轉換成了浮點型數值。

整型和浮點型相加減,結果會轉換成浮點型。如果在計算中想要保留兩位小數,可以用round()函數,例如,a=5.946326598,round(a,2)結果是5.95,經過四舍五入之后保留兩位小數。

4 字符串類型

字符串是由一對英文單引號、一對英文雙引號、一對英文三單引號或一對英文三雙引號包圍的字符,交易品種、賬號、密碼等都是字符串類型。例如,'賬號'、"123456"、'''密碼'''、"""jkl"""都是合法的字符串。

字符串是序列類型的數據,字符串的字符有位置(索引)屬性,從左到右字符的位置序號為0、1、2、3、4、5、6……從右到左的位置序號為?1、?2、?3、?4、?5、?6……

通常,字符串用一對英文單引號或一對英文雙引號定義,英文三單引號或三雙引號則用于多行注釋。

如果一個字符串里需要有英文單引號,則應用英文雙引號定義;如果一個字符串里需要有英文雙引號,則應用英文單引號定義。此時的英文單引號和雙引號為字符,而不是字符串的標識,例如,"ad'cd"、'ef"gh',英文雙引號或單引號組成一對,成為字符串的標識,字符串中的引號則作為字符以有別于字符串標識,不會出現“含義”沖突。

字符串中可以有空格,因為空格也是字符。Python用“有”和“無”來表示“真”和“假”,沒有任何字符的字符串為假,有字符的字符串為真。例如,“沒有字符,為假;”有空格字符,為真。

Python可以直接處理代碼中的字符串,把字符串創建在內存中并保存為字符串類型,也可以用字符串類str()創建字符串。例如,str(123)結果為'123',把數值123轉換成了字符串'123'。

如果要在字符串中包含控制字符或有特殊含義的字符,就需要使用轉義字符,常用的轉義字符如表2-1所示。

表2-1

例如,print("abc\"de")輸出abc"de,中間的英文雙引號被\轉義成字符,不會再與第一個英文雙引號組成字符串標識。

當在字符串前加上r或R,此時字符串為原始字符串,字符串中的“\”便不再是轉義字符,而是“\”本身。但字符串的最后一個字符不能是“\”,原始字符串主要用在文件路徑中。

代碼如下:

>>> print(r'C:\new\T0002\export\MA.csv')
C:\new\T0002\export\MA.csv

>>> print(r'C:\new\T0002\export\')
File "<stdin>", line 1
print(r'C:\new\T0002\export\')
^
SyntaxError: EOL while scanning string literal

5 結構數據類型

Python語言有許多的結構數據類型,最常用的有列表、元組、字典,列表和元組是序列類型,它們的元素有位置(索引)屬性,而字典是集合類型,其元素沒有位置屬性。

5.1 列表

列表是以方括號“[ ]”包圍的數據集合,不同元素間以英文逗號“,”隔開,列表的元素可以是任意數據類型,也可以是列表,例如,[1]、[1,]、[1, 2, 'a', [1,3], 'bcd']都是合法的列表。

列表的元素有位置屬性,從左到右元素的位置序號為0、1、2、3、4、5、6……從右到左的位置序號為?1、?2、?3、?4、?5、?6……

Python可以直接處理代碼中的列表,Python會自動創建列表,也可以用列表類list()創建列表。例如,a=list()創建空列表,給list()傳遞的參數必須是可迭代的,list()會按照參數的元素創建列表。例如,list('adffgghjj')結果是['a', 'd', 'f', 'f', 'g', 'g', 'h', 'j', 'j'],字符串的每個字符被創建為列表的元素。

列表是可變的數據類型,對列表中的元素進行修改時會直接修改原列表,而不是生成一個新列表。

5.2 元組

元組可看成特殊的列表,元組是以小括號“( )”包圍的數據集合,不同元素間以英文逗號“,”隔開,元組的元素可以是任意數據類型,也可以是元組,例如,(1,)、(1, 2, 'a', (1,3), 'bcd')都是合法的元組。當元組的元素只有一個時也不能省略英文逗號,否則小括號便不是元組的標識,而是語句運算,例如,(1,)是元組,而(1)則是數值1。

同列表一樣,元組的元素有位置屬性,元素從左到右的位置序號為0、1、2、3、4、5、6……從右到左的位置序號為?1、?2、?3、?4、?5、?6……

Python可以直接處理代碼中的元組,Python也會把以英文逗號隔開的對象創建為元組,代碼如下:

>>> 1,2,3,4,5
(1, 2, 3, 4, 5)

Python也可以用元組類tuple()創建元組,例如,a=tuple()創建空元組,給tuple()傳遞的參數必須是可迭代的。tuple()會按照參數的元素創建元組,例如,tuple(['a', 'd', 'f', 'f', 'g'])的結果是('a', 'd', 'f', 'f', 'g'),把列表轉換成了元組。

元組是不可變數據類型,對元組中的元素進行修改會創建一個新的元組,而不是直接修改原來的元組。若需要創建一組不可變的數據對象,可用元組創建。

元組主要用在變量定義中,代碼如下:

>>> a,b,c=1,2,3
>>> a;b;c
1
2
3

在上述代碼中,等號右邊的“1,2,3”是元組,Python會自動按位置順序把1賦值給a,把2賦值給b,把3賦值給c。

5.3 字典

字典是以大括號“{ }”包圍起來的數據集合,數據以“鍵:值”對的形式存在,“值”可以是任意類型的數據,但“鍵”必須是不可變數據。不可變數據又稱為可哈希的數據,可哈希數據具有唯一性,能產生唯一映射關系,因此,字典中元素的“鍵”都是不同的,可以通過“鍵”來訪問字典中的元素。例如,{'a':1,'b':2,3:'c'}和{'a':1,'b':2,c:[1,2]}都是合法的字典。

Python可以直接處理代碼中的字典,也可以用字典類dict()創建字典,因為字典的元素是以“鍵:值”對的形式存在,所以傳給dict()的參數應是關鍵字形式,代碼如下:

>>> dict(h=1,i=2,j=3,k=4)
{'h': 1, 'i': 2, 'j': 3, 'k': 4}

字典是集合類型,因此字典中的元素沒有位置屬性,元素是無序的,可以通過元素的鍵訪問元素,不能通過位置訪問元素。字典是可變的數據類型,修改元素的值或增刪元素會直接改變原字典。

本文摘自《Python期貨量化交易》

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2010-05-31 10:35:12

MySQL數據類型

2023-04-09 14:48:03

JavaScript腳本語言開發

2010-05-21 16:33:02

MySQL數據庫

2010-07-23 14:18:47

SQL Server數

2010-07-13 10:43:26

SQL Server數

2010-06-10 10:06:01

MySQL數據類型

2010-04-22 09:42:00

2010-07-09 15:10:11

MS SQL Serv

2025-01-06 05:10:00

Python數據類型編程

2023-06-29 13:43:30

2010-08-20 10:26:25

DB2數據類型

2010-07-09 16:33:23

2023-03-17 16:49:42

開發Java框架

2022-08-30 21:01:17

開發Java框架

2021-03-24 09:37:41

數據類型數據分析數據的分類

2023-10-17 07:57:56

Python數據類型

2010-03-11 15:56:15

Python列表

2019-08-12 11:40:48

數據庫SQLite3數據類型

2019-10-27 23:16:01

物聯網傳感器IOT

2022-07-03 06:10:15

MySQL數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 毛片在线看片 | 久久久久久久av麻豆果冻 | 欧美精品一区二区在线观看 | 亚洲一二三区av | 国产精品一区二区三区在线播放 | 亚洲小视频在线播放 | 日韩福利在线 | 在线观看视频h | 亚洲国产高清在线观看 | 亚洲一区久久 | 欧美黑人一级爽快片淫片高清 | 欧美日韩在线高清 | 久久免费精品视频 | 欧美在线观看一区 | 一级毛片,一级毛片 | 在线视频a | 日本午夜在线视频 | 精品无码久久久久久国产 | 91欧美精品成人综合在线观看 | 日韩精品免费看 | 久久久久久国产精品免费免费狐狸 | 涩涩操| 久久精品国产一区二区电影 | 国产大毛片 | 国产精品中文字幕在线 | 午夜色婷婷 | 日本成人三级电影 | 国产精品亚洲欧美日韩一区在线 | 亚洲国产一区二区三区四区 | 国产精品一区二区在线免费观看 | 亚洲一区二区精品 | 成人免费淫片aa视频免费 | 亚洲成人免费视频 | 久久久精品网站 | 亚洲国产精品视频 | 超碰国产在线 | 日日艹夜夜艹 | 亚洲国产一区二区三区 | 国产日韩欧美一区 | 欧美色影院 | 久久久久国产一级毛片 |