- 阅读权限
- 255
- 威望
- 0 级
- 论坛币
- 96 个
- 通用积分
- 2.1003
- 学术水平
- 2 点
- 热心指数
- 15 点
- 信用等级
- 2 点
- 经验
- 11502 点
- 帖子
- 278
- 精华
- 0
- 在线时间
- 94 小时
- 注册时间
- 2016-11-22
- 最后登录
- 2022-5-2
博士生
还不是VIP/贵宾
- 威望
- 0 级
- 论坛币
 - 96 个
- 通用积分
- 2.1003
- 学术水平
- 2 点
- 热心指数
- 15 点
- 信用等级
- 2 点
- 经验
- 11502 点
- 帖子
- 278
- 精华
- 0
- 在线时间
- 94 小时
- 注册时间
- 2016-11-22
- 最后登录
- 2022-5-2
 | 开心 2018-2-2 10:54:36 |
|---|
签到天数: 143 天 连续签到: 2 天 [LV.7]常住居民III
|
经管之家送您一份
应届毕业生专属福利!
求职就业群
感谢您参与论坛问题回答
经管之家送您两个论坛币!
+2 论坛币
以下内容转自 数析学院,只节选了部分,有需要的同学可以直接查看原文
介绍对金融学有用的一些数学工具,如:逼近法(回归、插值)、凸优化、积分、符号计算,但不介绍其具体的理论方法,本次课程主要聚焦在如何在 Python 中使用这些工具。
二、凸优化
- def fm((x, y)):
- return (np.sin(x) + 0.05 * x ** 2
- + np.sin(y) + 0.05 * y ** 2)
复制代码- x = np.linspace(-10, 10, 50)
- y = np.linspace(-10, 10, 50)
- X, Y = np.meshgrid(x, y)
- Z = fm((X, Y))
复制代码- # 两个参数的最小化函数
- # 标签: opt_plot_3d
- # 大小: 60
- fig = plt.figure(figsize=(9, 6))
- ax = fig.gca(projection='3d')
- surf = ax.plot_surface(X, Y, Z, rstride=2, cstride=2, cmap=mpl.cm.coolwarm,
- linewidth=0.5, antialiased=True)
- ax.set_xlabel('x')
- ax.set_ylabel('y')
- ax.set_zlabel('f(x, y)')
- fig.colorbar(surf, shrink=0.5, aspect=5)
复制代码<matplotlib.colorbar.Colorbar instance at 0x7f1873f28e60>
- import scipy.optimize as spo
复制代码 1、全局优化- def fo((x, y)):
- z = np.sin(x) + 0.05 * x ** 2 + np.sin(y) + 0.05 * y ** 2
- if output == True:
- print '%8.4f %8.4f %8.4f' % (x, y, z)
- return z
复制代码- output = True
- 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.])
- output = False
- opt1 = spo.brute(fo, ((-10, 10.1, 0.1), (-10, 10.1, 0.1)), finish=None)
- opt1
复制代码 array([-1.4, -1.4])
-1.7748994599769203
以上内容转自 数析学院,如需完整内容可以直接查看原文
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
|
|
-
总评分: 经验 + 100
查看全部评分
|