楼主: casey_c
1060 2

[程序分享] 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-12 10:31:54 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币




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


介绍对金融学有用的一些数学工具,如:逼近法(回归、插值)、凸优化、积分、符号计算,但不介绍其具体的理论方法,本次课程主要聚焦在如何在 Python 中使用这些工具。


二、凸优化


  1. def fm((x, y)):
  2.     return (np.sin(x) + 0.05 * x ** 2
  3.           + np.sin(y) + 0.05 * y ** 2)
复制代码
  1. x = np.linspace(-10, 10, 50)
  2. y = np.linspace(-10, 10, 50)
  3. X, Y = np.meshgrid(x, y)
  4. Z = fm((X, Y))
复制代码
  1. # 两个参数的最小化函数
  2. # 标签: opt_plot_3d
  3. # 大小: 60
  4. fig = plt.figure(figsize=(9, 6))
  5. ax = fig.gca(projection='3d')
  6. surf = ax.plot_surface(X, Y, Z, rstride=2, cstride=2, cmap=mpl.cm.coolwarm,
  7.         linewidth=0.5, antialiased=True)
  8. ax.set_xlabel('x')
  9. ax.set_ylabel('y')
  10. ax.set_zlabel('f(x, y)')
  11. fig.colorbar(surf, shrink=0.5, aspect=5)
复制代码
<matplotlib.colorbar.Colorbar instance at 0x7f1873f28e60> 1.jpg
  1. import scipy.optimize as spo
复制代码
1、全局优化
  1. def fo((x, y)):
  2.     z = np.sin(x) + 0.05 * x ** 2 + np.sin(y) + 0.05 * y ** 2
  3.     if output == True:
  4.         print '%8.4f %8.4f %8.4f' % (x, y, z)
  5.     return z
复制代码
  1. output = True
  2. spo.brute(fo, ((-10, 10.1, 5), (-10, 10.1, 5)), finish=None)
复制代码
-10.0000 -10.0000  11.0880-10.0000 -10.0000  11.0880-10.0000  -5.0000   7.7529-10.0000   0.0000   5.5440-10.0000   5.0000   5.8351-10.0000  10.0000  10.0000 -5.0000 -10.0000   7.7529 -5.0000  -5.0000   4.4178 -5.0000   0.0000   2.2089 -5.0000   5.0000   2.5000 -5.0000  10.0000   6.6649  0.0000 -10.0000   5.5440  0.0000  -5.0000   2.2089  0.0000   0.0000   0.0000  0.0000   5.0000   0.2911  0.0000  10.0000   4.4560  5.0000 -10.0000   5.8351  5.0000  -5.0000   2.5000  5.0000   0.0000   0.2911  5.0000   5.0000   0.5822  5.0000  10.0000   4.7471 10.0000 -10.0000  10.0000 10.0000  -5.0000   6.6649 10.0000   0.0000   4.4560 10.0000   5.0000   4.7471 10.0000  10.0000   8.9120

array([ 0.,  0.])
  1. output = False
  2. opt1 = spo.brute(fo, ((-10, 10.1, 0.1), (-10, 10.1, 0.1)), finish=None)
  3. opt1
复制代码
array([-1.4, -1.4])
  1. fm(opt1)
复制代码
-1.7748994599769203
以上内容转自 数析学院,如需完整内容可以直接查看原文


二维码

扫码加我 拉你入群

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

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

关键词:金融数据分析 python 数学工具 数据分析 金融数据

已有 1 人评分经验 收起 理由
残阳_等待 + 100 精彩帖子

总评分: 经验 + 100   查看全部评分

沙发
飞天玄舞6 在职认证  发表于 2017-12-13 08:33:43

藤椅
casey_c 发表于 2017-12-15 11:11:09

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

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