barriers / 阅读 / 详情

C++,ShowWindow中参数区别

2023-07-15 12:31:10
共1条回复
S笔记

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

问题描述:

SW_MINIMIZE最小化窗口并使系统列表的顶层窗 *** 动

SW_SHOWMINIMIZE显示极小化窗口,该窗口为一个图标

SW_SHOWMININOACTIVE显示极小化窗口,当前窗口扔保持活动

这是书上的说明,看不懂,我在VC下简单测试了下没发现又什么区别?

最好也帮忙说下其他几个容易混淆的参数

解析:

SW_HIDE

激活另外一个窗口,当前窗口就跑到那个窗口后面了

SW_MAXIMIZE

显示的窗口是最大化的

SW_MINIMIZE

显示的窗口是最小化的,并且自动把另一个窗口显示在前面

SW_SHOWMAXIMIZED

显示的窗口是最大化的,没有激活其他窗口的操作

SW_SHOWMINIMIZED

显示的窗口是最小化的,没有激活其他窗口的操作

SW_SHOWMINNOACTIVE

显示的窗口是最小化的,但窗口并不激活,就是说不显示在最上层,窗口标题栏是灰色的,没有激活其他窗口的操作

SW_SHOWNA

按窗口当前大小显示,但不激活,没有激活其他窗口的操作

SW_SHOWNOACTIVATE

按窗口最近一次显示时的大小和位置显示,窗口不激活

SW_SHOWNORMAL

不管窗口当前状态怎么样,都把它显示出来,并激活窗口

相关推荐

minimize 是什么意思啊?

minimize英音:["minu0259maiz]美音:["mu026anu0259,mau026az] 以下结果由译典通提供词典解释及物动词 vt. 1.使减到最少,使缩到最小We"ve taken steps to minimize the losses. 我们已采取措施尽量减少损失。 2.低估,小看,极度轻视
2023-07-15 07:19:541

minimize是什么意思

minimize [英]u02c8mu026anu026amau026az[美]u02c8mu026anu0259u02ccmau026azvt. 把…减至最低数量[程度];对(某事物)作最低估计,极力贬低(某事...[例句]Backing up data is a great way to minimize losses after a computing catastrophe.计算机灾难发生后恢复数据是减少损失的一个好方法。
2023-07-15 07:20:011

minimise是什么意思

  minimise英 ["mu026anu026amau026az] 美 ["mu026anu026amau026az]  vt.把…减至最低数量[程度]; 对(某事物)作最低估计,极力贬低(某事物)的价值[重要性];  [网络]最小化; 使缩到最小; 将...减到最少;  [例句]Some thorough research and hard-headed decisions can minimise our economic losses.  彻底的研究和冷静的决定能够将我们的经济损失降到最少。  [其他]形近词: minimize minimine minimite
2023-07-15 07:20:101

minimize 是什么意思啊?

minimize: [ minimaiz ] v. 将...减到最少 [计算机] 最小化 [ 名词minimization ] [ 过去式minimized 过去分词minimized 现在分词minimizing 第三人称单数minimizes ] 例句与用法1. To minimize the risk of burglary, install a good alarm system. 安装可靠的报警设备以减低被盗的风险. 2. He minimized the value of her contribution to his research so that he got all the praise. 他极力贬低她在那项研究中的贡献, 从而独获全部奖励. 3. A language processor that"collects"modules for loading and assigns their relative positions in storage;in a virtual storage system, a collector attempts to place object code in pages/segments in such a way as to minimize virtual storage interrupts during processing. 将程序模块“集中”起来装入且在存储器中分配其相对位置的语言处理器。在虚拟存储系统中,收集模块力图以最大限度地减少处理虚拟存储中断的方式将目标代码安排在页面或段中。 4. Arrange the icon of all minimize application across the bottom of the screen. 沿着屏幕的底部排列所有最小化的应用程序。
2023-07-15 07:20:171

minimum加上ize后的新单词是什么

minimize[英][u02c8mu026anu026amau026az][美][u02c8mu026anu0259u02ccmau026az]vt.把…减至最低数量[程度]; 对(某事物)作最低估计,极力贬低(某事物)的价值[重要性]; 极度轻视;
2023-07-15 07:20:261

最小化英文

最小化英文:Minimize把你打开的所有窗口最小化。Minimize any windows you have opened.再次点击正方形图标,把窗口最小化。Click the square icon again to minimize the window.耶路撒冷市市长对各宗教采取折中的态度,力图使冲突最小化。The Mayor of Jerusalem has tried to minimise conflict by maintaining a middle way between the various religions.能量消耗可通过恰当的膝上截肢术最小化。They can solve small-sample learning problems better by using structural risk minimization in place of experiential risk minimization.这些植物还会改变形状,萎缩以使表面积最小化,剩余的水正是通过植物表面蒸发掉的。
2023-07-15 07:20:331

最少动词英语最小或者最少,最大或者最多,动词怎么写

最少动词英语最小或者最少,最大或者最多,动词怎么写?解答如下:minimize最小化,及物动词, maximize最大化,及物动词;the smallest 最小, the biggest 最大;the least,minimum 最少,the most,maximum 最多;verb 动词
2023-07-15 07:20:531

mathcad里minimize是什么意思

是求方程f(x....)最小值的意思,相反的就是maximize,关于如何使用,你可以在帮助里面键入minimize这个关键词,然后看下边的例子,例子挺简单的,应该一看就明白。
2023-07-15 07:21:211

最大化 最小化 还原 英文

maximizeminimizerestore
2023-07-15 07:21:418

max和min是什么意思

一、max的意思。1、max是英语maximum的缩写。2、中文翻译:【n.】1.最大量,最大数,最大限度[C][(+of)]2.顶点;(法定的)最高极限;(公路行车的)最高速[the S][(+of)]3.【数】极大值[C]【adj.】1.最大的;最多的;最高的;顶点的二、min的意思。1、min是英语minimize的缩写。2、min在数学中,专指一个区间内指最小数。max是数学用语,意为某一个指定的数组范围中的最大的一个数字。
2023-07-15 07:21:561

最大程度减低成本 请求英文翻译 用比较地道的翻译 ‘最大程度地“如何翻译

cost down as can as possible
2023-07-15 07:22:056

mathcad里minimize是什么意思

最小值
2023-07-15 07:22:192

窗口最小化 翻译,急急急

就是最小化这三个字
2023-07-15 07:22:285

min翻译中文是什么

“Min”在英文中是对 "福建”这个省份的音译或简写。"福建”是中国的一个省份,在中国东南沿海地区。福建是一个历史悠久的地区,拥有丰富的文化和自然资源。“Min”也可以指 “闽语”,它是福建省方言的一种变体,也被称为闽南语。闽语是福建地区广泛使用的语言,有着自己独特的语音、词汇和语法规则。它是中国六大语系之一,也是世界上拥有使用人数较多的方言之一。在福建省及其周边地区,闽语被广泛使用,并在社交、商务和家庭等方面发挥重要作用。除了指福建省或闽语之外,“Min” 还可能指以下内容之一:1、美国在线即时通讯软件:Min 是一种过去广泛使用的即时通讯软件,它于1996年推出。它在那个时候是非常受欢迎的在线聊天工具之一。2、最小单位:在很多领域中,“min” 可以表示最小的单位,作为一个缩写,例如分钟 (minute)、分钟最小值 (minimum value) 或最小化 (minimize)。3、崔敏:Min 是一个在一些国家和地区,包括韩国、中国和越南等,作为人名的常见缩写,例如崔敏。Min的短语1、Min and max:最小值和最大值。2、Minute by minute:分分秒秒。3、Minimum requirement:最低要求。4、Mining industry:采矿业。5、Minority group:少数民族。6、Mint condition:极新的状态。7、Mind your own business:管好自己的事。8、Minute details:微小的细节。9、Mind over matter:意念胜过物质。10、Minimize the risk:最小化风险。
2023-07-15 07:22:481

minify,diminish区别

没有Minify这个字,只有Minimize意义:(使之)在体积缩小、或减少某情况、事件的出现率、发生率Diminish的意义:(使之)现象、状况的规模缩小、减退,出现率和发生率减小它也可应用在(使之)某人的地位、影响力的减退,某现象对某物的影响力的消退这两字都是动词
2023-07-15 07:23:121

MATHEMATICA求解约束优化时的问题

NMinimize
2023-07-15 07:23:464

怎样用代码来最小化或恢复程序

你能够用下面三种方法之一来实现它。方法一:发送一条Windows消息到主窗口的Handle属性或 Application->Handle。这条消息就是 WM_SYSCOMMAND,将 wParam 设为 SC_MINIMIZE 或 SC_RESTORE。你可以调用SendMessage API函数来发送消息。// 设置WPARAM为SC_MINIMIZE来最小化窗口SendMessage(Application->Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0);// 设置WPARAM为SC_RESTROE来恢复窗口SendMessage(Application->Handle, WM_SYSCOMMAND, SC_RESTORE, 0);方法二:调用 ShowWindow API 函数。 你必须传送Application对象句柄到ShowWindow函数。如果你传送给ShowWindow函数的句柄是主窗口,那么主窗口将最小化到桌面(desktop)而不是任务条(taskbar)。// 最小化:传送 SW_MINIMIZE 到 ShowWindowShowWindow(Application->Handle, SW_MINIMIZE);// 恢复:传送SW_RESTORE 到 ShowWindowShowWindow(Application->Handle, SW_RESTORE);方法三:调用Application对象的Minimize或Restore函数。// 调用Minimize最小化应用程序Application->Minimize();// 调用Restore恢复应用程序Application->Restore();调用Application的方法较易用,但发送WM_SYSCOMMAND消息功能更强。 另外,WM_SYSCOMMAND消息允许你最大化程序,改变光标为帮助光标,滚动程序,移动一个窗口,改变窗口大小,甚至模拟Alt-TAB切换到另一窗口。紧记,实现这些功能用API函数更好。尽管调用ShowWindow也能工作,你大概也不想用它来最小化或恢复程序。当隐藏的窗口被最小化时ShowWindow会引起最小化动画出现。
2023-07-15 07:23:531

minimising是什么意思。

minimising是minimise的ing形式。而minimise和minimize是同一个单词的两种写法,有三种意思,其分别为:是减少到最低程度;降低,减低,使显得不重要;使最小化。
2023-07-15 07:24:022

config.trim_on_minimize 最小化时释放占用的内存,现在还是否有效?

火狐的设置一般都管用。但是需要注意的是,自从FlashPlayer的内存占用从Firefox主进程分割到PluginContainer之后,这个设置由于不能影响到PluginContainer受到限制。最小化听歌等视频,也因为是FlashPlayer而不是Firefox直接进行的,所以这个设置变得很有限。视频的缓冲好像在硬盘上。不过真正造成卡机子的是Flash广告。尤其是Sina。不过115网盘之类广告,造成Flash播放器内存溢出……然后360把我机子的CONFIG/SYSTEM给X了,蓝了囧。后来前几天重装了。所以,现在的Flash导致只要不是全部空白页,你打开一个带Flash的,然后把休眠去掉之后,很长一段时间,内存占用都在持续增加。最小化并不能带给Flash播放器影响。总之,我并不建议你在线听歌看视频。如果不得以必须在线看,请最好别一次开太多,咱们的机器可不是Adobe公司实验室的测试机器。
2023-07-15 07:24:091

C++ Qt库 如何修改对话框本身的属性(如:最大化、最小化按钮、关闭按钮、边框粗细、颜色等)

首先用这句话将窗口设置为无边框的窗口:然后自己在右上角放置按钮,可通过setIcon设置按钮的图片,也可设置按钮的样式表网上搜按钮样式表,按钮图片,美观一大堆我这个的最终样式为
2023-07-15 07:24:194

Python怎么做最优化

最优化为什么要做最优化呢?因为在生活中,人们总是希望幸福值或其它达到一个极值,比如做生意时希望成本最小,收入最大,所以在很多商业情境中,都会遇到求极值的情况。函数求根这里「函数的根」也称「方程的根」,或「函数的零点」。先把我们需要的包加载进来。import numpy as npimport scipy as spimport scipy.optimize as optimport matplotlib.pyplot as plt%matplotlib inline函数求根和最优化的关系?什么时候函数是最小值或最大值?两个问题一起回答:最优化就是求函数的最小值或最大值,同时也是极值,在求一个函数最小值或最大值时,它所在的位置肯定是导数为 0 的位置,所以要求一个函数的极值,必然要先求导,使其为 0,所以函数求根就是为了得到最大值最小值。scipy.optimize 有什么方法可以求根?可以用 scipy.optimize 中的 bisect 或 brentq 求根。f = lambda x: np.cos(x) - x # 定义一个匿名函数x = np.linspace(-5, 5, 1000) # 先生成 1000 个 xy = f(x) # 对应生成 1000 个 f(x)plt.plot(x, y); # 看一下这个函数长什么样子plt.axhline(0, color="k"); # 画一根横线,位置在 y=0opt.bisect(f, -5, 5) # 求取函数的根0.7390851332155535plt.plot(x, y)plt.axhline(0, color="k")plt.scatter([_], [0], c="r", s=100); # 这里的 [_] 表示上一个 Cell 中的结果,这里是 x 轴上的位置,0 是 y 上的位置求根有两种方法,除了上面介绍的 bisect,还有 brentq,后者比前者快很多。%timeit opt.bisect(f, -5, 5)%timeit opt.brentq(f, -5, 5)10000 loops, best of 3: 157 s per loopThe slowest run took 11.65 times longer than the fastest. This could mean that an intermediate result is being cached.10000 loops, best of 3: 35.9 s per loop函数求最小化求最小值就是一个最优化问题。求最大值时只需对函数做一个转换,比如加一个负号,或者取倒数,就可转成求最小值问题。所以两者是同一问题。初始值对最优化的影响是什么?举例来说,先定义个函数。f = lambda x: 1-np.sin(x)/xx = np.linspace(-20., 20., 1000)y = f(x)当初始值为 3 值,使用 minimize 函数找到最小值。minimize 函数是在新版的 scipy 里,取代了以前的很多最优化函数,是个通用的接口,背后是很多方法在支撑。x0 = 3xmin = opt.minimize(f, x0).x # x0 是起始点,起始点最好离真正的最小值点不要太远plt.plot(x, y)plt.scatter(x0, f(x0), marker="o", s=300); # 起始点画出来,用圆圈表示plt.scatter(xmin, f(xmin), marker="v", s=300); # 最小值点画出来,用三角表示plt.xlim(-20, 20);初始值为 3 时,成功找到最小值。现在来看看初始值为 10 时,找到的最小值点。x0 = 10xmin = opt.minimize(f, x0).xplt.plot(x, y)plt.scatter(x0, f(x0), marker="o", s=300)plt.scatter(xmin, f(xmin), marker="v", s=300)plt.xlim(-20, 20);由上图可见,当初始值为 10 时,函数找到的是局部最小值点,可见 minimize 的默认算法对起始点的依赖性。那么怎么才能不管初始值在哪个位置,都能找到全局最小值点呢?如何找到全局最优点?可以使用 basinhopping 函数找到全局最优点,相关背后算法,可以看帮助文件,有提供论文的索引和出处。我们设初始值为 10 看是否能找到全局最小值点。x0 = 10from scipy.optimize import basinhoppingxmin = basinhopping(f,x0,stepsize = 5).xplt.plot(x, y);plt.scatter(x0, f(x0), marker="o", s=300);plt.scatter(xmin, f(xmin), marker="v", s=300);plt.xlim(-20, 20);当起始点在比较远的位置,依然成功找到了全局最小值点。如何求多元函数最小值?以二元函数为例,使用 minimize 求对应的最小值。def g(X): x,y = X return (x-1)**4 + 5 * (y-1)**2 - 2*x*yX_opt = opt.minimize(g, (8, 3)).x # (8,3) 是起始点print X_opt[ 1.88292611 1.37658521]fig, ax = plt.subplots(figsize=(6, 4)) # 定义画布和图形x_ = y_ = np.linspace(-1, 4, 100)X, Y = np.meshgrid(x_, y_)c = ax.contour(X, Y, g((X, Y)), 50) # 等高线图ax.plot(X_opt[0], X_opt[1], "r*", markersize=15) # 最小点的位置是个元组ax.set_xlabel(r"$x_1$", fontsize=18)ax.set_ylabel(r"$x_2$", fontsize=18)plt.colorbar(c, ax=ax) # colorbar 表示颜色越深,高度越高fig.tight_layout()画3D 图。from mpl_toolkits.mplot3d import Axes3Dfrom matplotlib import cmfig = plt.figure()ax = fig.gca(projection="3d")x_ = y_ = np.linspace(-1, 4, 100)X, Y = np.meshgrid(x_, y_)surf = ax.plot_surface(X, Y, g((X,Y)), rstride=1, cstride=1, cmap=cm.coolwarm, linewidth=0, antialiased=False)cset = ax.contour(X, Y, g((X,Y)), zdir="z",offset=-5, cmap=cm.coolwarm)fig.colorbar(surf, shrink=0.5, aspect=5);曲线拟合曲线拟合和最优化有什么关系?曲线拟合的问题是,给定一组数据,它可能是沿着一条线散布的,这时要找到一条最优的曲线来拟合这些数据,也就是要找到最好的线来代表这些点,这里的最优是指这些点和线之间的距离是最小的,这就是为什么要用最优化问题来解决曲线拟合问题。举例说明,给一些点,找到一条线,来拟合这些点。先给定一些点:N = 50 # 点的个数m_true = 2 # 斜率b_true = -1 # 截距dy = 2.0 # 误差np.random.seed(0)xdata = 10 * np.random.random(N) # 50 个 x,服从均匀分布ydata = np.random.normal(b_true + m_true * xdata, dy) # dy 是标准差plt.errorbar(xdata, ydata, dy, fmt=".k", ecolor="lightgray");上面的点整体上呈现一个线性关系,要找到一条斜线来代表这些点,这就是经典的一元线性回归。目标就是找到最好的线,使点和线的距离最短。要优化的函数是点和线之间的距离,使其最小。点是确定的,而线是可变的,线是由参数值,斜率和截距决定的,这里就是要通过优化距离找到最优的斜率和截距。点和线的距离定义如下:def chi2(theta, x, y): return np.sum(((y - theta[0] - theta[1] * x)) ** 2)上式就是误差平方和。误差平方和是什么?有什么作用?误差平方和公式为:误差平方和大,表示真实的点和预测的线之间距离太远,说明拟合得不好,最好的线,应该是使误差平方和最小,即最优的拟合线,这里是条直线。误差平方和就是要最小化的目标函数。找到最优的函数,即斜率和截距。theta_guess = [0, 1] # 初始值theta_best = opt.minimize(chi2, theta_guess, args=(xdata, ydata)).xprint(theta_best)[-1.01442005 1.93854656]上面两个输出即是预测的直线斜率和截距,我们是根据点来反推直线的斜率和截距,那么真实的斜率和截距是多少呢?-1 和 2,很接近了,差的一点是因为有噪音的引入。xfit = np.linspace(0, 10)yfit = theta_best[0] + theta_best[1] * xfitplt.errorbar(xdata, ydata, dy, fmt=".k", ecolor="lightgray");plt.plot(xfit, yfit, "-k");最小二乘(Least Square)是什么?上面用的是 minimize 方法,这个问题的目标函数是误差平方和,这就又有一个特定的解法,即最小二乘。最小二乘的思想就是要使得观测点和估计点的距离的平方和达到最小,这里的“二乘”指的是用平方来度量观测点与估计点的远近(在古汉语中“平方”称为“二乘”),“最小”指的是参数的估计值要保证各个观测点与估计点的距离的平方和达到最小。关于最小二乘估计的计算,涉及更多的数学知识,这里不想详述,其一般的过程是用目标函数对各参数求偏导数,并令其等于 0,得到一个线性方程组。具体推导过程可参考斯坦福机器学习讲义 第 7 页。def deviations(theta, x, y): return (y - theta[0] - theta[1] * x)theta_best, ier = opt.leastsq(deviations, theta_guess, args=(xdata, ydata))print(theta_best)[-1.01442016 1.93854659]最小二乘 leastsq 的结果跟 minimize 结果一样。注意 leastsq 的第一个参数不再是误差平方和 chi2,而是误差本身 deviations,即没有平方,也没有和。yfit = theta_best[0] + theta_best[1] * xfitplt.errorbar(xdata, ydata, dy, fmt=".k", ecolor="lightgray");plt.plot(xfit, yfit, "-k");非线性最小二乘上面是给一些点,拟合一条直线,拟合一条曲线也是一样的。def f(x, beta0, beta1, beta2): # 首先定义一个非线性函数,有 3 个参数 return beta0 + beta1 * np.exp(-beta2 * x**2)beta = (0.25, 0.75, 0.5) # 先猜 3 个 betaxdata = np.linspace(0, 5, 50)y = f(xdata, *beta)ydata = y + 0.05 * np.random.randn(len(xdata)) # 给 y 加噪音def g(beta): return ydata - f(xdata, *beta) # 真实 y 和 预测值的差,求最优曲线时要用到beta_start = (1, 1, 1)beta_opt, beta_cov = opt.leastsq(g, beta_start)print beta_opt # 求到的 3 个最优的 beta 值[ 0.25525709 0.74270226 0.54966466]拿估计的 beta_opt 值跟真实的 beta = (0.25, 0.75, 0.5) 值比较,差不多。fig, ax = plt.subplots()ax.scatter(xdata, ydata) # 画点ax.plot(xdata, y, "r", lw=2) # 真实值的线ax.plot(xdata, f(xdata, *beta_opt), "b", lw=2) # 拟合的线ax.set_xlim(0, 5)ax.set_xlabel(r"$x$", fontsize=18)ax.set_ylabel(r"$f(x, eta)$", fontsize=18)fig.tight_layout()除了使用最小二乘,还可以使用曲线拟合的方法,得到的结果是一样的。beta_opt, beta_cov = opt.curve_fit(f, xdata, ydata)print beta_opt[ 0.25525709 0.74270226 0.54966466]有约束的最小化有约束的最小化是指,要求函数最小化之外,还要满足约束条件,举例说明。边界约束def f(X): x, y = X return (x-1)**2 + (y-1)**2 # 这是一个碗状的函数x_opt = opt.minimize(f, (0, 0), method="BFGS").x # 无约束最优化假设有约束条件,x 和 y 要在一定的范围内,如 x 在 2 到 3 之间,y 在 0 和 2 之间。bnd_x1, bnd_x2 = (2, 3), (0, 2) # 对自变量的约束x_cons_opt = opt.minimize(f, np.array([0, 0]), method="L-BFGS-B", bounds=[bnd_x1, bnd_x2]).x # bounds 矩形约束fig, ax = plt.subplots(figsize=(6, 4))x_ = y_ = np.linspace(-1, 3, 100)X, Y = np.meshgrid(x_, y_)c = ax.contour(X, Y, f((X,Y)), 50)ax.plot(x_opt[0], x_opt[1], "b*", markersize=15) # 没有约束下的最小值,蓝色五角星ax.plot(x_cons_opt[0], x_cons_opt[1], "r*", markersize=15) # 有约束下的最小值,红色星星bound_rect = plt.Rectangle((bnd_x1[0], bnd_x2[0]), bnd_x1[1] - bnd_x1[0], bnd_x2[1] - bnd_x2[0], facecolor="grey")ax.add_patch(bound_rect)ax.set_xlabel(r"$x_1$", fontsize=18)ax.set_ylabel(r"$x_2$", fontsize=18)plt.colorbar(c, ax=ax)fig.tight_layout()不等式约束介绍下相关理论,先来看下存在等式约束的极值问题求法,比如下面的优化问题。目标函数是 f(w),下面是等式约束,通常解法是引入拉格朗日算子,这里使用 ββ 来表示算子,得到拉格朗日公式为l 是等式约束的个数。然后分别对 w 和ββ 求偏导,使得偏导数等于 0,然后解出 w 和βiβi,至于为什么引入拉格朗日算子可以求出极值,原因是 f(w) 的 dw 变化方向受其他不等式的约束,dw的变化方向与f(w)的梯度垂直时才能获得极值,而且在极值处,f(w) 的梯度与其他等式梯度的线性组合平行,因此他们之间存在线性关系。(参考《最优化与KKT条件》)对于不等式约束的极值问题常常利用拉格朗日对偶性将原始问题转换为对偶问题,通过解对偶问题而得到原始问题的解。该方法应用在许多统计学习方法中。有兴趣的可以参阅相关资料,这里不再赘述。def f(X): return (X[0] - 1)**2 + (X[1] - 1)**2def g(X): return X[1] - 1.75 - (X[0] - 0.75)**4x_opt = opt.minimize(f, (0, 0), method="BFGS").xconstraints = [dict(type="ineq", fun=g)] # 约束采用字典定义,约束方式为不等式约束,边界用 g 表示x_cons_opt = opt.minimize(f, (0, 0), method="SLSQP", constraints=constraints).xfig, ax = plt.subplots(figsize=(6, 4))x_ = y_ = np.linspace(-1, 3, 100)X, Y = np.meshgrid(x_, y_)c = ax.contour(X, Y, f((X, Y)), 50)ax.plot(x_opt[0], x_opt[1], "b*", markersize=15) # 蓝色星星,没有约束下的最小值ax.plot(x_, 1.75 + (x_-0.75)**4, "", markersize=15)ax.fill_between(x_, 1.75 + (x_-0.75)**4, 3, color="grey")ax.plot(x_cons_opt[0], x_cons_opt[1], "r*", markersize=15) # 在区域约束下的最小值ax.set_ylim(-1, 3)ax.set_xlabel(r"$x_0$", fontsize=18)ax.set_ylabel(r"$x_1$", fontsize=18)plt.colorbar(c, ax=ax)fig.tight_layout()scipy.optimize.minimize 中包括了多种最优化算法,每种算法使用范围不同,详细参考官方文档。
2023-07-15 07:24:461

介宾短语的后置定语问题

首先例行的解释一下句子的意思:进行暴风雨力学的研究的目的是为了提高预测(意外)事件的能力,并因此可以把发生损失和伤害的可能性降到最低。research在这里是名词, into the dynamics of storms 则为作定语 修饰research;如果research在这里充当的是一个动词的话,那么它应该会有宾语,但是此句中并没有出现宾语。predict放在第一个分句中,而minimize和avoid放在第二个分句当中,前者和后者不存在并列是否的问题,但是minimize和avoid则属并列关系。avoid前没有to的原因是因为假如前面的已经加了to的话,就不需要再加to了,只需在and后面加上两个短语不相同的部分就可以了/在这里,thus充当的是一个连词,看吧,其实这里的话,后面的events后面的and可以省去,不影响句子的意思。而连词,除了and之外的话,基本上只可以放在句首或句末。
2023-07-15 07:25:051

如何用python实现Markowitz投资组合优化

m投资组合模型的一个很有力的替代是Index model,或者我们说的single factor model,因为markowitz是需要计算全部股票的协方差和方差的,如果证券的数量很多,计算量会非常大(这些在investment的参考书里面有),我下面就把原话打给你 first,the model requires a huge number of estimates to fill the covariance matrix.second ,the model does not provide any guideline to the forecasting to the security risk premiums that are essential to construct the efficient frontier of risky assets.第一个是硬伤,单单计算NYSE的股票就要4.5百万的估计量,而同等条件下index model才需要9002个估计量,这就是为什么markowitz模型很多人不愿意用的愿意,而优点也很直接,如果你的估算值是准确的,那么m模型的结果比其他都准确
2023-07-15 07:25:152

几个LaTeX公式排版的问题

1. 加 displaystyle 命令: $displaystyle sum_{i=1}^n ...$ 2. 加 limits 命令:$displaystylemathop{mathrm{minimize}}limits_{hat{ heta}} sum_{i=1}^n |r_i|$(theta 上面有个尖符号,即 hat{ heta}。 minimize 不是标准函数符号,要加 mathop 申明为函数。 mathrm 是为了使之为罗马字体。)如果整篇文章里面多次使用 minimize,可以在文档导言区一次性申明,定义其为标准函数表达:documentclass{article} usepackage{amsmath}DeclareMathOperator{minimize}{minimize}egin{document} $displaystylemathop{minimize}limits_{hat{ heta}} sum_{i=1}^n |r_i|$end{document}最后一种是最严格和完美的做法。
2023-07-15 07:25:571

凸优化编程问题

hello,这个问题您解决了吗,现在我用CVX也出现这种情况,您最后是怎么解决的,麻烦分享一下您的经验?
2023-07-15 07:26:061

优化问题中惩罚因子的作用

考虑到你问了这么多问题,我觉得你对于这方面的经验还很有限。所以不妨给你些基本的定义。首先惩罚因子penalty出现在constrained optimization中,也就是你的解一定满足一些约束条件。比如你想minimize g(x), 而约束为f(x)=0.其中x是你的变量。有很多方法解这个问题,其中一个是基于惩罚的方法,即min(g(x) alpha*f(x)^2),其中alpha就是你说的惩罚因子。当alpha较小,我们就几乎在min g(x),当alpha很大时,我们就迫使x满足约束f(x)=0.
2023-07-15 07:26:131

最小化英文

1.Minimize把你打开的所有窗口最小化。2.Minimize any windows you have opened.再次点击正方形图标,把窗口最小化。3.Click the square icon again to minimize the window.耶路撒冷市市长对各宗教采取折中的态度,力图使冲突最小化。4.The Mayor of Jerusalem has tried to minimise conflict by maintaining a middle way between the various religions.能量消耗可通过恰当的膝上截肢术最小化。5.Energy expenditure can be minimized by a properly performed above-the-knee amputation.由于使用结构风险最小化原则代替经验风险最小化原则,使它较好的解决了小样本情况下的学习问题。6.They can solve small-sample learning problems better by using structural risk minimization in place of experiential risk minimization.这些植物还会改变形状,萎缩以使表面积最小化,剩余的水正是通过植物表面蒸发掉的。7.The plants also change shape, shrinking to minimize the surface area through which their remaining water might evaporate.
2023-07-15 07:26:371

轻描淡写怎么翻译才合适呢,英文

1、a gross understatement "A little strange" is a gross understatement. “有一点奇怪”绝对是轻描淡写。 《简明英汉词典》2、brushing it off lightly "It won"t be that bad,"said Hsin-mei, brushing it off lightly. 辛楣轻描淡写道:“那不至于。” 汉英文学 - 围城3、minimizeAt his trial, he tried to minimize his behavior. 接受审判的时候,他企图对自己的行为轻描淡写。 《辞典》
2023-07-15 07:27:471

数学中min是什么意思

  min是minute的缩写,意思为分钟或者是最小值。min在数学学科里面,是指在一个区间内最小数。例如Fmin≤F≤Fmax。min还主要用在数学表达式的单位中,是分钟的单位。   一:min的意思:   1、min是英语minimize的缩写。   2、min在数学中,专指一个区间内指最小数。   max是数学用语,意为某一个指定的数组范围中的最大的一个数字。   二:max的意思:   1、max是英语maximum的缩写。   2、中文翻译:   【n.】   1、最大量,最大数,最大限度[C][(+of)]   2、顶点;(法定的)最高极限;(公路行车的)最高速[theS][(+of)]   3、【数】极大值[C]   【adj.】   1、最大的;最多的;最高的;顶点的
2023-07-15 07:27:561

python中,如何用scipy.optimize.minimize进行多变量的最小化?

from scipy.optimize import minimizesqr = lambda p: p[0]**2 +p[1]**2minimize(sqr, [-1.0, 1.0])
2023-07-15 07:28:051

tensorflow:损失函数和优化器

1. 损失函数是在graph中定义的经过operation的tensor。 2.损失函数最终要带入到优化器的minimize方法中做参数。minimize方法内部包含了compute_gradients和apply_gradients方法。 3. 优化器的minimize方法返回的是operation,一般命名为train_step。 4.session的run方法的参数,如果是operation,则返回值为None;如果是tensor,则返回值是ndarray。因此sess.run(train_step,feed_dict)无返回结果,只起训练作用。 5.Variable定义时必须给出初始值。Variable是变量,其值保存在session中,session的global_variable_initializer实际上是初始值的保存。
2023-07-15 07:28:131

latex 中怎么在minimize下面输入x

mathop {min }limits_x
2023-07-15 07:28:221

max是min的简写吗?

一、max的意思。1、max是英语maximum的缩写。2、中文翻译:【n.】1.最大量,最大数,最大限度[C][(+of)]2.顶点;(法定的)最高极限;(公路行车的)最高速[the S][(+of)]3.【数】极大值[C]【adj.】1.最大的;最多的;最高的;顶点的二、min的意思。1、min是英语minimize的缩写。2、min在数学中,专指一个区间内指最小数。max是数学用语,意为某一个指定的数组范围中的最大的一个数字。
2023-07-15 07:28:281

Minimizing damage,harm reduction,Reduce damage,damage reduce 这四个词语分别用在什么语境里面呀?

1.Minimizing damage:尽量减少损失;其中Minimizing是v. 将…减到最少(minimize的ing形式)一般用于推测语气中。例:It was a new production technique aimed at minimizing wastage. 这是一项旨在使损耗减至最低的新生产技术。2.harm reduction:减少危害,harm 是 vt. 伤害;危害;损害的意思。用于强调性的陈述句中。例:He would never harm anyone. 他永远不会伤害任何人。3.Reduce damage: 降低/ 减少伤害; 其中Reduce是 减少(尺寸、数量等);(使)蒸发;减轻体重;(使)还原;(使)陷入。用于一般的陈述句中。例:The aim is to reduce traffic at peak periods. 目的是缓解高峰期间的交通状况。4.damage reduce :我认为或许更类似于抵消伤害/物理伤害减少;其中damage是 n. 损害;损毁;赔偿金,一般用于主观认为的语气中。例:The damage to the car was minimal. 汽车受到的损坏很小。
2023-07-15 07:28:471

max和min有什么区别呢?

一、max的意思。1、max是英语maximum的缩写。2、中文翻译:【n.】1.最大量,最大数,最大限度[C][(+of)]2.顶点;(法定的)最高极限;(公路行车的)最高速[the S][(+of)]3.【数】极大值[C]【adj.】1.最大的;最多的;最高的;顶点的二、min的意思。1、min是英语minimize的缩写。2、min在数学中,专指一个区间内指最小数。max是数学用语,意为某一个指定的数组范围中的最大的一个数字。
2023-07-15 07:28:551

min代表的是什么意思?

min可以理解为单词minimize的简写,意为最小化,其反义词为max(maximize)这个单词完整的书面写法是minimummin也代表分钟minuteMin如果第一个字母大写则代表部长(Minister)当然,还要看着三个字母到底写在什么地方,才能确认
2023-07-15 07:29:041

怎样用代码来最小化或恢复程式

您能够用下面三种方法之一来实现他。 方法一:发送一条Windows消息到主窗口的Handle属性或 Application-Handle。这条消息就是 WM_SYSCOMMAND,将 wParam 设为 SC_MINIMIZE 或 SC_RESTORE。您能够调用SendMessage API函数来发送消息。 // 配置WPARAM为SC_MINIMIZE来最小化窗口 SendMessage(Application-Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0); // 配置WPARAM为SC_RESTROE来恢复窗口 SendMessage(Application-Handle, WM_SYSCOMMAND, SC_RESTORE, 0); 方法二:调用 ShowWindow API 函数。 您必须传送Application对象句柄到ShowWindow函数。假如您传送给ShowWindow函数的句柄是主窗口,那么主窗口将最小化到桌面(desktop)而不是任务条(taskbar)。 // 最小化:传送 SW_MINIMIZE 到 ShowWindow ShowWindow(Application-Handle, SW_MINIMIZE); // 恢复:传送SW_RESTORE 到 ShowWindow ShowWindow(Application-Handle, SW_RESTORE); 方法三:调用Application对象的Minimize或Restore函数。 // 调用Minimize最小化应用程式 Application-Minimize(); // 调用Restore恢复应用程式 Application-Restore(); 调用Application的方法较易用,但发送WM_SYSCOMMAND消息功能更强。 另外,WM_SYSCOMMAND消息允许您最大化程式,改变光标为帮助光标,滚动程式,移动一个窗口,改变窗口大小,甚至模拟Alt-TAB转换到另一窗口。紧记,实现这些功能用API函数更好。 尽管调用ShowWindow也能工作,您大概也不想用他来最小化或恢复程式。当隐藏的窗口被最小化时ShowWindow会引起最小化动画出现。
2023-07-15 07:29:111

求一个窗口“最小化”的c语言代码

Win32编程的内容注册窗口类之前设置好标志即可,,。WNDCLASS。。。。
2023-07-15 07:29:202

生物学中min是什么意思

半乳糖操纵子的调节基因是galR,位于遗传图谱上55min处,是说在进行转导是,55分钟时,调节基因galR被转移近进去了。min被看作是遗传图距。
2023-07-15 07:29:302

在数学中,“min”表示?

不只是数学,在物理和其他专业课中,nin都是最小值的意思,max是最大值的意思,祝君好运,望采纳
2023-07-15 07:29:4014

cvx工具包对二范数优化问题,非常感谢!

minimize(square_pos(norm(y-A*x,2)))随便乘方不能保证凸性,可以用内置函数square_pos()代替^2
2023-07-15 07:30:111

Flash AS3问题,请问stage.NativeWindow.minimize();类包是什么?import虐我……

这是 stage 的属性而已啊,哪有什么类包?非要说,那 stage 是 flash.display.Stage 类;nativeWindow 是 flash.display.NativeWindow 类。
2023-07-15 07:31:001

线性规划题目 minimize (c^t)x subject to 0

设y(1)=x(1),y(2)=x(2)-x(1),。。。,y(n)=y(n)-y(n-1)。即x(1)=y(1),x(2)=y(1)+y(2),。。。,x(n)=y(1)+y(2)+...+y(n)。这样,(c^t)x可以化为(d^t)y的形式,新向量d满足d(1)=c(1)+c(2)+...+c(n),d2=c(2)+...+c(n),d(3)=c(3)+...+c(n),。。。,d(n)=c(n)因为0<=x(1)<=x(2)<=...<=x(n)=1,等价于0<=y(1),y(2),..,y(n),且y(1)+y(2)+...+y(n)<=1。因此,若设d里最小的元素是d(i),则(d^t)y=d(1)y(1)+...+d(n)y(n)>=d(i)y(1)+d(i)y(2)+...+d(i)y(n)若d(i)>=0,则d(i)y(1)+d(i)y(2)+...+d(i)y(n)>=0,等号当y(1)=y(2)=...=y(n)=0时取到。若d(i)<0,则d(i)y(1)+d(i)y(2)+...+d(i)y(n)=d(i)*(y(1)+...+y(n))>=d(i),等号当y(i)=1,其余y为0时取到。所以本题答案是min{0,c(1)+c(2)+...+c(n),c(2)+...+c(n),c(3)+...+c(n),。。。,c(n-1)+c(n),c(n)},min函数代表集合里最大的数。
2023-07-15 07:31:101

max是最大值吗? min是最小值吗?

一、max的意思。1、max是英语maximum的缩写。2、中文翻译:【n.】1.最大量,最大数,最大限度[C][(+of)]2.顶点;(法定的)最高极限;(公路行车的)最高速[the S][(+of)]3.【数】极大值[C]【adj.】1.最大的;最多的;最高的;顶点的二、min的意思。1、min是英语minimize的缩写。2、min在数学中,专指一个区间内指最小数。max是数学用语,意为某一个指定的数组范围中的最大的一个数字。
2023-07-15 07:31:161

用Mathematica求一个最小值问题。

首先你的约束条件的写法是有点不规范的。约束条件要用&&即Simplify[Minimize[{Sqrt[(x - 0)^2 + (y - 0)^2] + Sqrt[(x - 0)^2 + (y - 1)^2] + Sqrt[(x - 1)^2 + (y - 1)^2] + Sqrt[(x - 1)^2 + (y - 2)^2], x > 0,&&y > 0}, {x, y}]]然后这个距离的最小的确不好求。我的想法是转换成等价的Minkowski Distance,代码:Minimize[{Max[Abs /@ {x - 0, y - 0}] + Max[Abs /@ {x - 0, y - 1} + Max[Abs /@ {x - 1, y - 1}] + Max[Abs /@ {x - 1, y - 2}]], x > 0 && y > 0}, {x, y}]结果:{3, {x -> 1/4, y -> 3/4}}
2023-07-15 07:31:261

m打头的单词有哪些啊

myself 是 反身代词其他m开头的人称代词找不到了 ------------就是 myself啊~~~呵呵I can do it myself 我可以自己做(根据上文,就是自己背包)
2023-07-15 07:31:342

max什么意思?

一、max的意思。1、max是英语maximum的缩写。2、中文翻译:【n.】1.最大量,最大数,最大限度[C][(+of)]2.顶点;(法定的)最高极限;(公路行车的)最高速[the S][(+of)]3.【数】极大值[C]【adj.】1.最大的;最多的;最高的;顶点的二、min的意思。1、min是英语minimize的缩写。2、min在数学中,专指一个区间内指最小数。max是数学用语,意为某一个指定的数组范围中的最大的一个数字。
2023-07-15 07:31:411

MATLAB求函数最小值报错 在线等解决

函数没写清楚自变量和因变量:function minimize[A OF exitflag]=fminunc(@hwk850,1350)endfunction OF=hwk850(A)x1=[0;0.0610;0.2149;0.3187;0.4320;0.5246;0.6117;0.7265;0.9040;0.8830;0.8999;1];x2=1-x1;y1=[0;0.953;0.271;0.36;0.4453;0.5106;0.5735;0.6626;0.7312;0.8200;0.8382;1];y2=1-y1;i=1;OF=0;for i=1:12 lngama1=A/8.314/283*(1-x1(i)); lngama2=A/8.314/283*x2(i)^2; gexp=8.314*283*(x1(i)*lngama1+x2(i)*lngama2); gcal=A*x1(i)*x2(i); OF=OF+(gexp-gcal)^2; i=i+1;endend
2023-07-15 07:32:001

你好,想请教您几个关于cvx的问题,谢谢!

不知道你的s(n)和x(m)究竟是多少维的,如果s(n)是n*1维,则s*Q=n*1*n*m,无法相乘如果s(n)是1*n维,x(m)是m*1维,则s * Q * x=+=1*n*n*m*m*1=1*1维 c * x=n*m*m*1=n*1维两者维数不同无法相加
2023-07-15 07:32:071

如何用python实现Markowitz投资组合优化

多股票策略回测时常常遇到问题。仓位如何分配?你以为基金经理都是一拍脑袋就等分仓位了吗?或者玩点玄乎的斐波拉契数列?OMG,谁说的黄金比例,让我看到你的脑袋(不削才怪)!!其实,这个问题,好多好多年前马科维茨(Markowitz)我喜爱的小马哥就给出答案——投资组合理论。根据这个理论,我们可以对多资产的组合配置进行三方面的优化。1.找到有效前沿。在既定的收益率下使组合的方差最小。2.找到sharpe最优的组合(收益-风险均衡点)3.找到风险最小的组合跟着我,一步两步,轻松实现。该理论基于用均值和方差来表述组合的优劣的前提。将选取几只股票,用蒙特卡洛模拟初步探究组合的有效前沿。通过最大Sharpe和最小方差两种优化来找到最优的资产组合配置权重参数。最后,刻画出可能的分布,两种最优以及组合的有效前沿。注:文中的数据API来自量化平台聚宽,在此表示感谢。原文见【组合管理】——投资组合理论(有效前沿)(包含正态检验部分)0.导入需要的包import pandas as pdimport numpy as npimport statsmodels.api as sm #统计运算import scipy.stats as scs #科学计算import matplotlib.pyplot as plt #绘图1.选取几只感兴趣的股票000413 东旭光电,000063 中兴通讯,002007 华兰生物,000001 平安银行,000002 万科A并比较一下数据(2015-01-01至2015-12-31)In[1]:stock_set = ["000413.XSHE","000063.XSHE","002007.XSHE","000001.XSHE","000002.XSHE"]noa = len(stock_set)df = get_price(stock_set, start_date = "2015-01-01", end_date ="2015-12-31", "daily", ["close"])data = df["close"]#规范化后时序数据(data/data.ix[0]*100).plot(figsize = (8,5))Out[1]:2.计算不同证券的均值、协方差每年252个交易日,用每日收益得到年化收益。计算投资资产的协方差是构建资产组合过程的核心部分。运用pandas内置方法生产协方差矩阵。In [2]:returns = np.log(data / data.shift(1))returns.mean()*252Out[2]:000413.XSHE 0.184516000063.XSHE 0.176790002007.XSHE 0.309077000001.XSHE -0.102059000002.XSHE 0.547441In [3]:returns.cov()*252Out[3]:3.给不同资产随机分配初始权重由于A股不允许建立空头头寸,所有的权重系数均在0-1之间In [4]:weights = np.random.random(noa)weights /= np.sum(weights)weightsOut[4]:array([ 0.37505798, 0.21652754, 0.31590981, 0.06087709, 0.03162758])4.计算预期组合年化收益、组合方差和组合标准差In [5]:np.sum(returns.mean()*weights)*252Out[5]:0.21622558669017816In [6]:np.dot(weights.T, np.dot(returns.cov()*252,weights))Out[6]:0.23595133640121463In [7]:np.sqrt(np.dot(weights.T, np.dot(returns.cov()* 252,weights)))Out[7]:0.48574822326099625.用蒙特卡洛模拟产生大量随机组合进行到此,我们最想知道的是给定的一个股票池(证券组合)如何找到风险和收益平衡的位置。下面通过一次蒙特卡洛模拟,产生大量随机的权重向量,并记录随机组合的预期收益和方差。In [8]:port_returns = []port_variance = []for p in range(4000):weights = np.random.random(noa)weights /=np.sum(weights)port_returns.append(np.sum(returns.mean()*252*weights))port_variance.append(np.sqrt(np.dot(weights.T, np.dot(returns.cov()*252, weights))))port_returns = np.array(port_returns)port_variance = np.array(port_variance)#无风险利率设定为4%risk_free = 0.04plt.figure(figsize = (8,4))plt.scatter(port_variance, port_returns, c=(port_returns-risk_free)/port_variance, marker = "o")plt.grid(True)plt.xlabel("excepted volatility")plt.ylabel("expected return")plt.colorbar(label = "Sharpe ratio")Out[8]:6.投资组合优化1——sharpe最大建立statistics函数来记录重要的投资组合统计数据(收益,方差和夏普比)通过对约束最优问题的求解,得到最优解。其中约束是权重总和为1。In [9]:def statistics(weights):weights = np.array(weights)port_returns = np.sum(returns.mean()*weights)*252port_variance = np.sqrt(np.dot(weights.T, np.dot(returns.cov()*252,weights)))return np.array([port_returns, port_variance, port_returns/port_variance])#最优化投资组合的推导是一个约束最优化问题import scipy.optimize as sco#最小化夏普指数的负值def min_sharpe(weights):return -statistics(weights)[2]#约束是所有参数(权重)的总和为1。这可以用minimize函数的约定表达如下cons = ({"type":"eq", "fun":lambda x: np.sum(x)-1})#我们还将参数值(权重)限制在0和1之间。这些值以多个元组组成的一个元组形式提供给最小化函数bnds = tuple((0,1) for x in range(noa))#优化函数调用中忽略的唯一输入是起始参数列表(对权重的初始猜测)。我们简单的使用平均分布。opts = sco.minimize(min_sharpe, noa*[1./noa,], method = "SLSQP", bounds = bnds, constraints = cons)optsOut[9]:status: 0success: Truenjev: 4nfev: 28fun: -1.1623048291871221x: array([ -3.60840218e-16, 2.24626781e-16, 1.63619563e-01, -2.27085639e-16, 8.36380437e-01])message: "Optimization terminated successfully."jac: array([ 1.81575805e-01, 5.40387481e-01, 8.18073750e-05, 1.03137662e+00, -1.60038471e-05, 0.00000000e+00])nit: 4得到的最优组合权重向量为:In [10]:opts["x"].round(3)Out[10]:array([-0. , 0. , 0.164, -0. , 0.836])sharpe最大的组合3个统计数据分别为:In [11]:#预期收益率、预期波动率、最优夏普指数statistics(opts["x"]).round(3)Out[11]:array([ 0.508, 0.437, 1.162])7.投资组合优化2——方差最小接下来,我们通过方差最小来选出最优投资组合。In [12]:#但是我们定义一个函数对 方差进行最小化def min_variance(weights):return statistics(weights)[1]optv = sco.minimize(min_variance, noa*[1./noa,],method = "SLSQP", bounds = bnds, constraints = cons)optvOut[12]:status: 0success: Truenjev: 7nfev: 50fun: 0.38542969450547221x: array([ 1.14787640e-01, 3.28089742e-17, 2.09584008e-01, 3.53487044e-01, 3.22141307e-01])message: "Optimization terminated successfully."jac: array([ 0.3851725 , 0.43591119, 0.3861807 , 0.3849672 , 0.38553924, 0. ])nit: 7方差最小的最优组合权重向量及组合的统计数据分别为:In [13]:optv["x"].round(3)Out[13]:array([ 0.115, 0. , 0.21 , 0.353, 0.322])In [14]:#得到的预期收益率、波动率和夏普指数statistics(optv["x"]).round(3)Out[14]:array([ 0.226, 0.385, 0.587])8.组合的有效前沿有效前沿有既定的目标收益率下方差最小的投资组合构成。在最优化时采用两个约束,1.给定目标收益率,2.投资组合权重和为1。In [15]:def min_variance(weights):return statistics(weights)[1]#在不同目标收益率水平(target_returns)循环时,最小化的一个约束条件会变化。target_returns = np.linspace(0.0,0.5,50)target_variance = []for tar in target_returns:cons = ({"type":"eq","fun":lambda x:statistics(x)[0]-tar},{"type":"eq","fun":lambda x:np.sum(x)-1})res = sco.minimize(min_variance, noa*[1./noa,],method = "SLSQP", bounds = bnds, constraints = cons)target_variance.append(res["fun"])target_variance = np.array(target_variance)下面是最优化结果的展示。叉号:构成的曲线是有效前沿(目标收益率下最优的投资组合)红星:sharpe最大的投资组合黄星:方差最小的投资组合In [16]:plt.figure(figsize = (8,4))#圆圈:蒙特卡洛随机产生的组合分布plt.scatter(port_variance, port_returns, c = port_returns/port_variance,marker = "o")#叉号:有效前沿plt.scatter(target_variance,target_returns, c = target_returns/target_variance, marker = "x")#红星:标记最高sharpe组合plt.plot(statistics(opts["x"])[1], statistics(opts["x"])[0], "r*", markersize = 15.0)#黄星:标记最小方差组合plt.plot(statistics(optv["x"])[1], statistics(optv["x"])[0], "y*", markersize = 15.0)plt.grid(True)plt.xlabel("expected volatility")plt.ylabel("expected return")plt.colorbar(label = "Sharpe ratio")Out[16]:
2023-07-15 07:32:231