【量化投资】量化投资技术基础 ---- Python 急速入门

本文介绍了Python在量化投资领域的应用,强调了其在金融领域的重要性。文章详细讲解了Python的基础,包括输入输出、数据类型、函数、异常处理、文件操作等内容,特别提到了在量化投资中需要学习的额外知识,如图形库、爬虫、数据处理和自动交易。Python的易学性和丰富库使其成为量化投资的首选工具。
摘要由CSDN通过智能技术生成

【量化投资】Python 入门

一、为什么使用 python

说起Web领域 你立马会想到 Java 和 JavaScript语言,它们在Web领域不可撼动;Python也已经在金融量化投资领域占据了重要位置,从各个业务链条都能找到相应的框架实现。

在量化投资(证券和比特币)开源项目里,全球star数排名前10位里面,有7个是用Python实现的。从数据获取到策略回测再到交易,覆盖了整个业务链,还是很厉害的!

因此,堪称入门免费、简单、可移植性、解释性、 丰富的库、 面向对象的Python语言,便就是它了!

python x 量化投资

其实,我认为,不管做不做量化分析,或者你是不是程序员,都应该学习 python ,数学专业可以用它建模,白领可以用它批量处理 excel,初高中生可以通过 python 入门编程,总之,这真的是一门简单强大的语言

  • 我找了半天找不到那个 xx编程的洗脑广告,不过我估计有不少人看过

image-20220108091558877

  • 其实有很多人不知道 dokidoki 就是用 python 写的:

dokidoki

  • 之前那个火爆全网的武汉加油,也是 python 写的:

  • 之前很火的词云,也是 python 写的

image-20220108092524711

  • 当然,python 最火的还是爬虫:

爬虫

总之,就算你对量化投资不感兴趣,我也建议你学学 python ,毕竟艺多不压身嘛,同时也可以把春节假期长肉的时间利用起来

二、我们需要学些什么

除了语言基础之外,对于量化投资,我们还要学什么额外的 python 知识?

1、图形库

人脑对图形是最敏感的,除了机器分析数据外,我们还要将数据绘制成图形,方便我们去分析,所以一个简洁方便的图形库是必不可少的

绘图

2、爬虫

量化分析中有个概念是回测,其作用是将我们设计好的程序,用以前的数据跑一下,观察其盈利情况如何,只有在程序可靠的情况下,我们才真的会让其上线进行交易

而回测使用的数据,就需要我们从金融网站中爬取使用了

爬虫

3、数据存储与处理

在爬到数据之后,我们还要对数据做基本的清洗与处理,以方便程序使用

数据处理

4、自动交易

作为业余理财人,我们还要腾出时间,做自己本职的工作,不可能天天盯着股票看,所以,程序自动买卖交易是不可少的,这个也需要我们去考虑

自动交易

python 可做的还有很多很多,但是对于量化投资,我们还是着重考虑上面几个点。

三、Python 基础

1、输入输出

我们有时需要通过输出判断模型数据的

python 输入输出代码如下:

print("hello world")  # hello world  输出
input("please input:") # 执行后。会输出 please input 然后阻塞等待输入

image-20220106024420487

2、数据转换

python 没有显示的数据类型, 其数据类型的定义在赋值时就确定了

数据类型

3、导包

python 原sdk中可能没有我们要用的函数,所以需要导入其他的包使用

python 导包和 java 一样,使用 import 语句

导入 math 包

除了基础的导包方式外,我们还可以为导入的包起别名,或者直接导入方法

  • 为导入的包起别名:
import math as m # 为 math 包起别名为 m
print(m.pi)

运行结果

  • 只导入方法:

这里的 import * 表示导入 math 类中的所有方法,这样,我们在使用 math 的方法的时候就不用带上 math 了

from math import *
ceil(3.14)  # 4.0

4、数据类型

1)数字

数字包含 int,float,booleancomplex(复数)

这里要注意,python 中没有显示的数据类型定义,数据类型是在初始化的时候就决定好的:

对应的数据类型

int,float 可以通过 float(),int() 相互转换:

相互转换

TrueFalse 其实对应的是数字 1 和 2(这点其实有够奇葩的):

数字对应

复数用 a+bj 的形式表示,a代表实部,b代表虚部,同时,也可以用 complex(a,b) 的形式声明复数:

声明复数

声明复数

2)字符串

字符串用 ‘’ 或者 “” 声明

字符串声明

3)列表

列表是 java 中数组,ArrayList 甚至 Stack Queue 的集合体

用中括号[]声明,可以使用下标访问

列表声明

  • 列表切片:

切片的访问方式如下 [start:end:step]

切片访问

其中的 -1,表示访问倒数第一个元素,要注意,切片的访问是左闭右开的,即上面的例子范围为 [0,6)步长为2

start end 不写,默认从头到尾:

列表遍历

也可以用切片的方式,对列表进行倒序访问([::-1]):

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FARO_Z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值