财务-财务风险计算。通过类结构和操作人员过载优化了易用性

finance的Python项目详细描述


财务-详细说明

本项目的目的是为财务部门提供易于使用的python代码。 风险计算。 这部法典并非随意复制教科书内容。

它是关于开发abstract data types作为对象,以简化财务计算和代码 发展。

在这一点上,代码决不是为了速度而优化的

在pythonhacks主页上开发了金融和数学概念。

第1部分-简单时间相关资产

时间是通用的,比如1个月,而非通用的,比如特定的日期。 在某种程度上,这两种类型都是通过大量使用运算符重载来实现的。

这意味着问题是:2009年12月27日之间有多少天 提前3个月可以计算如下:

>>> from finance import bankdate
>>> t1 = bankdate('2009-12-27')
>>> print t1 + '3m'
2010-03-27
>>> print t1 + '3m' - t1
90

此外,一个处理未来付款的向量结构(一个日期流)是 作为类实现。

通过方法重载,很容易构建甚至非常复杂的现金流(=日期流)

标准日期流的生成器也是包的一部分

在对日期流进行任何计算之前,必须将日期转换为 时代。为此将创建类datetotime

最后是simpel计算,比如现值和不同的持续时间 可在上课时间内完成

如何安装

只需运行setup.py install命令或者在windows中使用windows安装程序。

文档等

访问我的homepage了解有关如何 使用和代码背后的研究这是一个类似博客的关于金融、数学的地方 以及科学计算。

0.2502的变化:

最后期限还有一些问题需要解决。 感谢Johan Uys让我注意到这一点。

0.2501的变化:

生成最终日期的问题已经解决感谢安库什·萨海 为了引起我的注意。

0.25的变化:

代码已经被重写以分离strickt数学结构,例如在单独的包中的小数向量。 对屈服曲线有轻微的修改。

0.20的变化:

现在贴现曲线基于基准零债券,其中利率是连续的远期利率。 可以像这样进行标准叶栅计算:

Instantiate:

>>> import finance
>>> ns = finance.yieldcurves.NelsonSiegel(0.061, -0.01, -0.0241, 0.275)

See the settings:

>>> ns
Nelson Siegel (level=0.061, slope=-0.01, curvature=-0.0241, scale=0.275)

Get the discountfactors at times 1, 2, 5, 10:

>>> times = [1, 2, 5, 10]
>>> ns(times)
DecimalVector([0.9517121708497056177816078083, 0.9072377300179418172521412527, 0.7844132592062346545344544940, 0.6008958407659500402742872859])

Get the zero coupon rate at time 5 and 7

>>> r5, r7 = ns.zero_coupon_rate([5, 7])
>>> r5, r7
(Decimal('0.049762403554685553400657196'), Decimal('0.050625188777310061599365592'))

Get the forward rate between time 5 and 7

>>> f5_7 = ns.discrete_forward_rate(5, 7)
>>> f5_7
Decimal('0.052785255470657667493924028')

如上所示,使用小数向量的概念绘制了屈服曲线特别是 所有输出均为十进制或十进制矢量。

目前有三种不同的收益率曲线类型:

  • 尼尔森西格尔
  • 自然三次样条
  • 金融三次样条

这样,财务包就覆盖了使用中的大部分曲线。 因为它很容易添加更多的屈服曲线,因为设计会更多。

当然,屈服曲线也被整合到时间流中。所以现在有可能 进行大多数固定收益计算

关于财务软件包中固定收益计算的教程即将面世。

基于线性可分解贴现曲线的风险计算被推迟 稍后再开始

计划添加的内容

目前计划的发展是:

0.3版计划新增内容:
货币、实施markowitz等
0.4版计划新增内容:
通过(二项式)树的可选性
0.5版计划新增内容:
从时间流引导以获得基准零债券的基数
计划添加版本0的内容。6:
投资组合的概念,如结构性产品

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何从旧的ArrayList<ArrayList<Integer>>创建新的ArrayList而不更改旧的?   java JBoss 7 |从随机线程写入jndi   java如何在数据库中有空值的JPA实体中迭代联接列   java Android应用程序在setContentView上崩溃   java如何在表单中预先填充文本字段,其中包含数据库中的信息。jsp?   来自R.raw的java Android文件阅读器。文件   如何将多个WAR(或Java Web应用程序,特别是使用Spring MVC)嵌入到一个承载另一个WAR的网页中?   java动态更新Jlist   gwt分页大结果集Java的最佳方式是什么   JavaCDI:为什么我的瞬态字段被序列化?   使用JAXB更新java XML模板文件   java getGraphics()返回空值   扩展javax的java类。ws。rs.core。无法将应用程序强制转换为Servlet   java方法可能无法在异常时关闭流   公共类的表达式的java非法开始   java年轻一代GC在EXT根扫描上花费了太多时间   使用CXF和具有未发布元数据的WSDL的java