我是波有蛋,职业证券投资顾问,擅长指标公式教学,提供量化实盘和vip开户渠道。
关注我,希望能帮得到你。

Python程序中的每个数据,都有其类型。
举个例子,500和'某某股份'显然是两种不同的类型。
即便你不会编程,也能一眼看出前者是数字,后者是汉字。
程序对不同类型数据的处理方式,自然也有所不同。

接下来的几期教程开始介绍Python数据类型,包括基本类型、容器类型、类和DataFrame。
点赞、关注好了吗,接下来就正式进入教学!
Part.1
数据类型为什么重要?

在PTrade策略中,数据类型尤为重要。
原因主要有两方面:
首先,PTrade内置了许多策略开发所用的API函数。
这些函数要成功执行,需要你传入相应的参数,而函数对参数的数据类型有严格的要求。
后续教程会专门讲函数的运用,你可以先把函数理解为一个指令,你说出指令的名称,程序就会自动执行相应的操作。
但是,只有指令的名称往往不够,你还得补充指令的细节——也就是参数,让指令更加具体,程序才能执行更加细节的操作。
举个例子,下单函数order:

参数要求:股票代码为字符串,交易数量为整数。

那如果股票代码写500,交易数量写'600xxx',不仅逻辑上说不通,程序也会直接报错。
其次,PTrade的策略函数在执行后,通常还会返回一些数据。
策略在后续处理中,会用到这些返回数据。你必须清楚其数据类型,才能采用正确的操作方法,进行下一步分析和处理。
接下来,本文将系统介绍PTrade策略开发最常用的五种基本数据类型:
整数
浮点数
布尔值
空值
字符串
建议大家打开研究界面的.ipynb文件,一边看一边敲,亲手验证每种类型的行为。
Part.2
数字:计数、计算、比大小

数字是最基本的数据类型,用来计数、参与计算、比较大小等,我们都非常熟悉。
但在Python中,数字又分为整数和浮点数两种,它们在策略中的使用场景和规则有细微差异:
int100,0,-500等。float0.01,-10.02,5.0等。
其实在日常使用时,不必刻意区分两者——写5还是5.0,人看着没区别,程序也能处理。
唯一要注意的就是,API参数要求传入int整数类型还是float浮点数类型。
还是举order函数的例子:

order参数要求:交易数量为整数,委托报价为浮点数。
那么,交易数量就该填200、报价该填10.12这样的数字。

而在实际策略开发中,即便数字类型填错,程序通常也不会报错。
这是因为Python相当智能,在对数字类型有要求的场合,程序能自动转换整数和浮点数。
例如,当你的报价确实是一个整数时,就可以直接填入10。
虽然10的数据类型为int整数,但Python能自动将其转换为float浮点数10.0,以符合order函数的参数要求。

但反过来却有风险。在要求为int整数的场合,如果填入float浮点数,Python会自动去掉数据的小数部分,使float浮点数转化为int整数,这样一来你的原始数据就失真了。
结果就是,程序虽不会报错,但是策略逻辑却有了差错,这种无声的错误,反而更加危险。

最后,补充一下Python中的科学计数法。

来,看行情——当策略统一以“元”为单位时,大盘一天成交额就写为1192355840000,这样一长串数字,看得人头晕眼花,数零都要数半天。
用科学计数法,可记为1.19×1012,马上就认出成交额是1.19万亿元。
Python中,用AeN或AEN的格式表示A×10ⁿ,例如1.19×1012在代码中就记作1.19e12,能认出来是什么意思即可。

Part.3
布尔值:判断条件是否成立

布尔值bool也叫逻辑值,只有两个:
True:真int值1。False:假int值0。
布尔值通常是逻辑判断的结果,要么成立,要么不成立。通常用于条件判断后,根据结果执行操作。

例如,先判断股票当日成交量是否大于0:
True条件成立时,说明股票正常交易,将其纳入选股范围;False条件不成立时,说明股票非正常交易,将其剔除。这里要注意,True和False首字母大写,其余字母小写,必须严格写对,才能被程序识别为布尔值。

Part.4
空值:没有持仓的情形

空值NoneType只有一个:
None:表示没有数据,用于占位。
例如,PTrade用来查询持仓的函数get_position,可以查询账户中单股票的持仓详情。
如果查询的股票并无持仓,则数量、价格等数字类型字段返回0,而持仓更新时间这类非数字字段,则返回None表示不存在。

Part.5
字符串:股票代码必用

字符串str:汉字、字母之类的文本,用引号包裹(' '或" ")。
例如'xx证券',"600xxx"。

特别注意,'600000'也是字符串。即便文本内容为数字,但只要用引号包裹,就属于字符串str类型。
在PTrade策略中,所有需要传入股票代码的场合,都必须使用字符串类型。

实际策略开发中,我们往往需要一次性处理几十上百只股票的数据——这就需要用到容器数据类型,高效地批量存储和操作股票池,下期教学将详细介绍。
看得不够过瘾?所有教程、指标、资源都已打包至这份《量化实盘落地开发手册》独家整合资料,让你轻松入门,无偿送给各位关注的粉丝,评论区留言领取。

加入波有蛋实盘圈,获取完整视频教程及课件,请联系波有蛋咨询详情。

如果你已有成熟的交易体系,想真正落地量化,或者还在纠结怎么迈出第一步,添加波有蛋GJYKR666,协助你把量化这条路走通。

END
推荐阅读
2026-7-13

2026-7-14

2026-7-21


点赞
在看
分享