楼主: casey_c
1267 1

[程序分享] Python 金融数据分析:类和对象(二) [推广有奖]

  • 0关注
  • 10粉丝

博士生

92%

还不是VIP/贵宾

-

威望
0
论坛币
96 个
通用积分
2.1003
学术水平
2 点
热心指数
15 点
信用等级
2 点
经验
11502 点
帖子
278
精华
0
在线时间
94 小时
注册时间
2016-11-22
最后登录
2022-5-2

楼主
casey_c 发表于 2017-12-22 10:34:10 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币




以下内容转自 数析学院,只节选了部分,有需要的同学可以直接查看原文

主要介绍:
  • ython 类的基础知识
  • 实现短期利率类
  • 实现现金流序列类


2、简单的短期汇率类

  1. import numpy as np
  2. def discount_factor(r, t):
  3.     ''' Function to calculate a discount factor.
  4.    
  5.     Parameters
  6.     ==========
  7.     r : float
  8.         positive, constant short rate
  9.     t : float, array of floats
  10.         future date(s), in fraction of years;
  11.         e.g. 0.5 means half a year from now
  12.    
  13.     Returns
  14.     =======
  15.     df : float
  16.         discount factor
  17.     '''
  18.     df = np.exp(-r * t)
  19.       # 使用一个 NumPy 通用函数来实现向量化
  20.     return df
复制代码
  1. import matplotlib.pyplot as plt
  2. %matplotlib inline
复制代码
  1. # 不同短期利率在5年内的折现因子
  2. # 标签: disc_fact_1
  3. t = np.linspace(0, 5)
  4. for r in [0.01, 0.05, 0.1]:
  5.     plt.plot(t, discount_factor(r, t), label='r=%4.2f' % r, lw=1.5)
  6. plt.xlabel('years')
  7. plt.ylabel('discount factor')
  8. plt.grid(True)
  9. plt.legend(loc=0)
复制代码
1.jpg

  1. class short_rate(object):
  2.     ''' Class to model a constant short rate object.
  3.    
  4.     Parameters
  5.     ==========
  6.     name : string
  7.         name of the object
  8.     rate : float
  9.         positive, constant short rate
  10.    
  11.     Methods
  12.     =======
  13.     get_discount_factors :
  14.         returns discount factors for given list/array
  15.         of dates/times (as year fractions)
  16.     '''
  17.     def __init__(self, name, rate):
  18.         self.name = name
  19.         self.rate = rate
  20.     def get_discount_factors(self, time_list):
  21.         ''' time_list : list/array-like '''
  22.         time_list = np.array(time_list)
  23.         return np.exp(-self.rate * time_list)
复制代码
  1. sr = short_rate('r', 0.05)
复制代码
  1. sr.name, sr.rate
复制代码
('r', 0.05)
以上内容转自 数析学院,如需完整内容可以直接查看原文



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python 金融数据分析 数据分析 金融数据 short rate

沙发
casey_c 发表于 2017-12-26 10:54:41

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-24 19:14