首页 文章 精选 留言 我的

精选列表

搜索[量化],共5225篇文章
优秀的个人博客,低调大师

【Python金融量化】VaR系列(五):Copula模型估计组合VaR

1. 资产组合VaR建模方法回顾 文章中总结了通过DCC模型估计组合向前一日VaR的方法,整体思路如下: ●通过Garch族模型估计各资产的波动率 ●通过DCC模型估计各资产间的相关系数,结合1得到资产组合的协方差矩阵 ●在各资产正态性假设的前提下,可以知道资产组合也服从正态分布,并且均值与协方差阵已在1,2中计算得到 ●在已知组合中各但资产权重w的情况下,根据下式计算组合VaR 文章中总结了通过蒙特卡洛方法估计组合向前K日VaR的方法,也可以仅计算组合向前一日VaR(本文只考虑向前1日的情况),文章中也对比了蒙特卡洛方法与DCC方法得到的结果,差异并不大。蒙特卡洛方法的思路如下: ●根据Garch族模型估计资产的波动率 ●根据DCC模型估计组合的相关系数 ●在1,2的基础上,在正态性假设前提下,得

优秀的个人博客,低调大师

基于Python装饰器的向量化计算速度对比

timer是一个装饰器,功能是给被装饰的函数计时。如果要进一步了解装饰器的使用,点击此链接Python闭包函数和装饰器 sumOfLoop函数是常规的使用for进行循环遍历求和的方法; sumOfComprehension函数使用推导式得出新的列表,然后用内置sum函数求出列表的和; sumOfVectorization函数使用np.dot方法求出两个数据类型的为numpy.ndarray的对象的点积,两个向量a = [a1, a2,…, an]和b = [b1, b2,…, bn]的点积定义为:a·b=a1b1+a2b2+……+anbn。 np.random.rand()方法需要传入一个参数,例如传入参数为5,则返回一个数据类型为numpy.ndarray、长度为5、其中元素的值范围为0-1的对象,如下图所示: np.random.rand()方法.png from time import time import numpy as np def timer(func): def inner(*args,**kwargs): start = time() result = func(*args,**kwargs) end = time() usedTime = 1000 * (end - start) print("%s function used %.2f ms,return %.4f" %(func.__name__,usedTime,result)) return result return inner @timer def sumOfLoop(np_array): result = 0 for i in np_array: result += i * i return result @timer def sumOfComprehension(np_array): return sum([i * i for i in np_array]) @timer def sumOfVectorization(np_array): return np.dot(np_array,np_array) if __name__ == "__main__": print("计算小数平方和三种方法对比:") n = np.random.rand(3000000) a = sumOfLoop(n) print(a) sumOfComprehension(n) sumOfVectorization(n) print("计算整数平方和三种方法对比:") n = np.array(range(3000000)).astype('int64') sumOfLoop(n) sumOfComprehension(n) sumOfVectorization(n) 本文作者在2018年7月13日晚11点的运行结果如下: 计算小数平方和三种方法对比: sumOfLoop function used 1036.76 ms,return 999213.4882 sumOfComprehension function used 1103.75 ms,return 999213.4882 sumOfVectorization function used 2.00 ms,return 999213.4882 计算整数平方和三种方法对比: sumOfLoop function used 545.89 ms,return 8999995500000499712.0000 sumOfComprehension function used 718.86 ms,return 8999995500000499712.0000 sumOfVectorization function used 5.00 ms,return 8999995500000499712.0000

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册