本章的内容涵盖以下几个主题:
- 介绍在Python中如何对金融的变量进行赋值。
- 讨论Python的数据类型,包括整型、浮点型、复数以及字符串等。
- 探讨Python的数据结构,包括元组、列表、集合、字典等。
- 分析Python的运算符号,包括算数运算、关系运算、赋值运算和逻辑运算等。
- 论述Python的主要内置函数,重点讲解在金融领域比较常用的函数。
- 讨论Python中定义函数的方法,包括运用def语法和运用lambda函数构建新函数的两种方法。
- 分析在Python中运用循环语句、条件语句以及两者结合的方式进行编程。
- 介绍导入模块的不同方法以及math模块中金融领域常用的函数。
2.1 金融变量在Python中的赋值
在Python的世界中有一句名言:“一切皆为对象”;在金融的世界中也有类似的一句名言:“一切皆为变量”,所以本章就从在Python中给金融变量赋值讲起。
当打开一张财经报纸时,映入眼帘的往往是金融市场各种指数或资产的价格与涨跌幅信息,比如,2019年1月2日上证综指涨跌幅为−1.15%,这条信息转换成Python的语言就是一个典型的赋值,其中,用变量代表上证综指涨跌幅,赋给该变量的数值就是−0.0115。
在Python中,每个变量在使用前都必须赋值,并且是运用等号(=)来给变量赋值。等号(=)运算符左边是一个变量名,右边是存储在该变量中的值,即:
变量 = 值
Python的变量名可以用英文字母、数字和下划线构成,但是必须记住以下四点注意事项:
一是可以单独用英文字母或者下划线作为变量名,同时英文字母需要注意区分大小写;
二是数字不能单独用于表示变量,比如3不能作为变量名;
三是变量不能以数字开头,比如1a不能作为变量名,a1却可以作为变量名;
四是变量的命名应该简洁易懂。比如,在金融领域,对于变量的命名尽可能运用该变量的英文名、英文缩写或者英文名的首字母。
【例 2-1】 假定利率是8%,需要在Python中赋值,可以采用如下Python的代码对利率变量进行赋值:
In [1]: rate=0.08 #利率等于8%或者是
In [2]: r=0.08这里请注意,凡是以#开始输入的内容,属于注释语句,Python是不会读取的。因此,编程者可以通过注释语句让阅读者更好地理解代码的含义。此外,8%在Python输入中必须用0.08表示,因为“%”在Python中有特殊的含义,我们会在2.4节介绍。
2.2 Python的数据类型
Python拥有丰富的数据类型,典型的数据类型包括数字、字符串、布尔值与空值。这里我们着重讨论数字和字符串两种,其中数字包括整型(int)、长整型(long)、浮点型(float)以及复数(complex)。关于布尔值,我们会在2.4节中结合关系运算符号进行介绍。
2.2.1 整型
整数是数字的重要组成部分,类似−100、0、9、369这样的数称为整数,整数可细分为正整数、零和负整数,并且有无穷多个。整数也是金融领域经常用到的数字,比如上市公司的数量、股票数量、投资者人数、债券面值、交易日天数等都需要用到整数。在Python中,与整数相对应的就是整型(也称为整数),同样,整型也是Python的基础数据类型之一,在Python中显示为int(即整数英文单词integer的缩写);此外,长整型可以表示无限大的整数。考虑到在金融领域中,整型已经可以有效满足日常分析和建模的需要,长整型的运用并不多见,因此下面就侧重于讨论整型。
【例 2-2】 假定A投资者持有一家上市公司100股股票,通过Python进行赋值,并且通过type函数判断数据类型,具体的代码如下:
In [3]: share=100 #股票数量等于100 In [4]: type(share) Out[4]: int注意,在Python中,整型有以下特征:一是必须为数字,二是不能出现小数点。如果出现小数点,就是接下来要讨论的浮点型。
2.2.2 浮点型
在金融领域运用Python时,浮点数(也称为浮点数)是最常用的数据类型,包括利率、汇率、股价、财务比率、收益率、波动率等变量都是浮点型。浮点型就是由整数、小数点和小数(非必需)构成的数字。在2.1节中关于利率的示例(例2-1)就是一个浮点型。
In [5]: type(rate) Out[5]: float需要注意的是,在Python中输入数字时,如果数字中带有小数点,无论实质上是否为整数,Python均会将其视作浮点型。
【例2-3】 运用前面例2-2中的相关信息,在Python中输入数字时,用户在100后面增加了一个小数点,则数据类型结果就是浮点型而非整型,具体的代码如下:
In [6]: share=100. In [7]: type(share) Out[7]: float2.2.3 复数
在数学中,当a、b均为实数,z = a + bi就被称为复数(complex number),其中a称为实部,b称为虚部,i称为虚数单位,复数是由意大利米兰学者卡当在16世纪首次引入。复数在金融领域的运用相对较窄,主要运用于金融的时间序列分析、美式期权定价(运用傅里叶变换)。注意,在Python中,虚数单位是用小写的英文字母j表示。
【例 2-4】 一个变量a等于复数2+3i,在Python中进行输入,并且判断数据类型,具体的代码如下:
In [8]: a=2+3j In [9]: type(a) Out[9]: complex2.2.4 字符串
在金融领域,经常遇到包括公司名称、金融产品要素名称等非数字的文本信息,在Python中针对这些表示文本的基本数据类型就需要用到字符串(string)。同时,关于字符串有四大特征:输入时需用引号、可索引性、可截取性以及可替换性,下面就依次进行讨论并演示。
特征之一:输入时需用引号。在Python中,用英文的单引号' '、双引号" "以及三引号''' '''来标识字符串,其中,三引号往往是用于多行文本。此外,引号内无论中文、英文字母、符号、数字甚至是空格,均被视为字符串。需要说明的是,在Python中,字符串的类型是用str显示(即英文string的缩写)。
【例 2-5】 在Python中,以字符串的数据类型依次输入finance、risk management、金融风险管理、888、1+1,具体的代码如下:
In [10]: a='finance' In [11]: type(a) Out[11]: str In [12]: b="risk management" In [13]: type(b) Out[13]: str注意,risk与management之间的空格也是占据一个字符。
In [14]: c='金融风险管理' In [15]: type(c) Out[15]: str In [16]: d='888' In [17]: type(d) Out[17]: str In [18]: e='1+1' In [19]: type(e) Out[19]: str特征之二:可索引性。字符串是可以被索引的,并且如果针对字符串是从左向右的索引,则默认是从0开始,最大范围就是字符串长度减去1,并且需要用到中括号;相反,从右向左的索引,默认是从−1开始,最大范围是字符串开头。
以上的索引规则不仅仅适用于字符串,对于Python中涉及的其他索引也全都适用。
【例2-6】 运用例2-5中输入的字符串finance,依次索引finance这个单词的首字母f、单词的第4个字母a以及单词最后一个字母e,具体的代码如下:
In [20]: a[0] #索引首字母 Out[20]: 'f' In [21]: a[3] #索引第4个字母 Out[21]: 'a' In [22]: a[-1] #索引最后一个字母 Out[22]: 'e'特征之三:可截取性。假如,用户要从字符串“I love risk”选取子字符串“risk”,就需要用到字符串的截取功能。截取也称为切片(slice),是从一个字符串中获取子字符串(也就是字符串的一部分),需要使用中括号、起始索引值(start)、终止索引值(end)以及可选的步长(step)来定义。截取的输入格式如下:
字符串[start: end: step]
下面,就结合Python的演示讲解具体的字符串截取操作方法。
【例 2-7】 假定用户在Python中输入字符串“I love risk”,并且在该字符串中截取子字符串“love”,具体的代码如下:
In [23]: x='I love risk' In [24]: x[2:6] #截取字符串love Out[24]: 'love'在例2-7中,字符串和索引位置之间的对应关系如下:
字符串 I love risk
索引位置 012345678910
需要注意两点,一是在截取的操作中,截取的子字符串是截止到输入的终止索引值的前一位,二是不输入步长的参数时,默认的步长是1(也就是逐个选取)。
如果仅输入起始索引值但不输入终止索引值,则表示截取从起始索引值一直到字符串末尾的子字符串。
【例2-8】 沿用例2-7的信息,假定用户希望从“I love risk”的字符串中截取“love risk”,具体的代码如下:
In [25]: x[2:] #从第3位开始一直到最后一位 Out[25]: 'love risk'不输入起始索引值但输入终止索引值,表示截取从字符串的部首一直到终止索引值前一位的子字符串。
【例2-9】 沿用例2-7的信息,假定用户希望从“I love risk”的字符串中截取“I love”,具体的Python代码如下:
In [26]: x[:6] Out[26]: 'I love'前面3个例子中演示的是截取步长都是1的情况,接着通过一个例题演示当截取的步长选择大于1的情形。
【例2-10】 假定用户在Python中输入字符串“I love risk management”,并且希望从该字符串中截取从第3位至第9位并且步长为3(也就是跳2格选取)的子字符串,具体的代码如下:
In [27]: x='I love risk management' In [28]: x[2:9:3] #截取从第3位至第9位并且步长为3的子字符串 Out[28]: 'lei'特征之四:可替换性。如果用户发现在Python输入字符串中的部分子字符串出现错误,这时用户就可以运用replace函数实现修正和替换,下面就通过一道例题进行演示。
【例 2-11】 假定用户在事后检查中发现,原本希望在Python中输入“I love finance”,但是却误写成了“I love management”,此时运用replace函数进行修改,具体的代码如下:
In [29]: y='I love management' #错误的输入 In [30]: y.replace('management','finance') #进行更正 Out[30]: 'I love finance'注意,在replace( )中,第一个引号中是输入原有内容,第二个引号中是输入修正后的内容。
出版信息:
书号:978-7-115-51611-4
出版时间:2019-10-01
内容简介:
本书聚焦于Python在金融分析与风险管理的应用,全书分为入门篇、基础篇和提高篇共12章。在入门篇中,对Python做了介绍并结合金融演示了Python的基本操作;在基础篇中,结合金融场景讲解NumPy、Pandas、SciPy等Python模块的具体运用;在提升篇中,详细讨论运用Python分析利率、债券、股票、期货、期权以及风险价值等内容。
1.《结合金融演示Python编程的基本操作,一学就会》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《结合金融演示Python编程的基本操作,一学就会》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/2112363.html