Python 在量化交易中的基础应用
本文旨在为希望从事量化交易的初学者提供 Python 编程的基础知识。虽然许多通用 Python 教程面向程序员,但本教程将结合量化策略编写的实际场景,从零讲解核心语法。掌握这些内容是理解并编写量化策略的前提。
Python 简介
Python 是一种解释型、面向对象的高级编程语言。在量化交易中,我们使用 Python 编写代码来描述交易逻辑,计算机执行这些指令以完成数据获取、策略计算和订单下达。
目前 Python 主要分为 Python 2 和 Python 3 两个版本。由于历史原因,部分旧有的量化平台或库可能仅支持 Python 2,而新系统多已迁移至 Python 3。两者在核心语法上差异不大,但在字符串处理和打印函数等方面有显著区别。对于初学者,建议关注当前主流环境(Python 3),同时了解旧版代码的兼容性。
基础语法规则
1. 大小写敏感
Python 严格区分大小写。变量名 Price 和 price 被视为不同的标识符。定义变量时请保持拼写一致。
2. 符号规范
所有代码符号必须使用英文半角字符。包括冒号(:)、逗号(,)、分号(;)、括号(())和引号('' 或 "")。中文标点会导致语法错误。
3. 注释
注释用于说明代码意图,不会被执行。单行注释使用 #,多行注释可使用三个单引号 ''' 或双引号 """。
# 这是一个初始化函数
def initialize(context):
'''
设置每日运行周期
设定目标股票
'''
pass
4. 缩进
Python 使用缩进来表示代码块层级,通常推荐使用 4 个空格或一个 Tab 键。同一层级的语句必须保持相同的缩进量。
def initialize(context):
# 属于 initialize 的代码块
run_daily(period, time='every_bar')
g.security = '000001.XSHE'
变量与赋值
变量是存储数据的容器。赋值操作使用等号 =,将右侧的值赋给左侧的变量名。
# 整数赋值
a = 100
# 字符串赋值
b = '平安银行'
# 变量引用
c = a
全局变量
在量化框架中,初始化函数(initialize)内的局部变量无法在周期函数(period)中直接访问。若需跨函数共享数据,需使用全局对象(如 g.)进行存储。
def initialize(context):
g.a = 1
():
(g.a)


