业界常用的凸优化的求解工具包有CVXPY及CVXOPT。但这两款工具包并不是专门针对投资组合优化的,在求解过程中还需要将组合优化的问题转化为对应的优化问题。...今天我们介绍的Riskfolio-Lib是专门针对投资组合优化的工具包,其构建于CVXPY之上(其实CVXPY也用到了CVXOPT的求解器),并于Pandas紧密结合。...部分example还需要MOSEK求解器,推荐使用conda进行安装: conda install -c mosek mosek 介绍 Riskfolio-Lib支持多种组合优化模型,从最基础的均值方差模型...均值方差组合优化 我们以最简单的均值-方差组合优化介绍Riskfolio的使用方法,首先使用是准备数据,我们用yfinance获取数据: import numpy as np import pandas...rf = 0 # 无风险利率 l = 0 # 风险厌恶系数, 只有当目标函数为'Utility'时有用 # 计算期望收益及方差,当模型model选择Classic时,需使用assets_stats计算组合的期望收益及方差
可以选择股票、商业债券、期货、对冲基金、指数基金、国债、外汇等等,而每一个小类里又有无数的可选项——举例来说,股票是选择A股、港股、美股还是日韩乃至欧洲?...2017年,Erling Anderson参加了在上海财大举行的国际优化研讨班,并以“用MOSEK解决锥优化”为题目发表演讲,充分展示了很多看似无关的问题,最终都可以转化为锥优化问题来求解。...MOSEK是幸运的。2016年中,叶教授带领学生创办了杉数科技,致力于帮助中国企业解决大规模复杂系统的建模、计算、决策与落地能力。...未来,MOSEK也希望把重心转向中国,在中国推动更大的普及应用,尤其是在金融、保险、能源等重要领域。杉数科技也会配合MOSEK,为中国的客户提供最佳计算方案和最优决策。...C、C++、Python、Java、C#、MATLAB和R; l 支持多种建模环境,包括AMPL、GAMS和CVX等商业工具,CVXPY和JuMP等开源工具; l 支持多种操作系统,包括Windows、
美国橡树岭(Oak Ridge National Laboratory)的物理学家用超级计算机确认了镍78是个双幻原子核(double magic nuclei)。...一旦超过极限,整个原子核就会崩溃。所以物理学家想知道,以镍78为起点,到底还可以再加入几个中子,而不会让整个原子核崩溃?...橡树岭国家实验室的Gaute Hagen与另外两位物理学家利用实验室里的Titan超级计算机来计算镍78的稳定性。...他们发现镍78的确就像双幻核一样稳定,而且更令人惊讶的是,根据计算结果,即便再多一个或两个中子,整个原子核似乎也还是处于稳定状态而不会崩溃。这显示比镍80更重的镍同位素或许也有可能存在。 ?...这是第一次理论核物理学家可以用电脑直接计算镍78与其外围原子核的稳定性。而且未来将可能可以利用类似的方法来对超重稀有同位素进行计算。
Mosek和Primal-dual方法的收敛情况,可以看到Mosek方法比Primal-dual方法更快收敛。...单轮迭代过程优化:Eigen CG 问题 采用Mosek方法求解线性规划问题,需要经过若干轮迭代才能获得最优解,每轮迭代包括以下四个步骤: step1: 计算残差res step2: 采用牛顿步得到二阶导矩阵...该过程为单线程计算,计算速度低效、不能满足例行更新的耗时需求。...多线程优化 无论是Mosek过程还是求解线性方程组的过程均采用了迭代法,即每轮迭代均依赖于上一轮迭代得到的结果,因此能并行计算的地方非常有限,只能在求解线性方程组的过程涉及到的稀疏矩阵与向量相乘操作进行多线程加速...Felix Zhang:稀疏矩阵的分解和图(3):用十以内的加减乘除来看Multifrontal方法 7.
我们用 Microsoft、 Visa和Walmart这三家公司 24个月的股票价格(月均价)来进行处理。这些是比较老的数据,但它们完美地展示了这个过程。 图: 24个月内某三家公司的月股价。...我们可以简单地计算一个滚动的月回报率,方法是用当月的平均股价减去上个月的平均股价,再除以上个月的股价。 回报率列在下图中。 优化该模型 股票的回报率是一个不确定的量。...使用Python解决优化问题: CVXPY库 我们将用于这个问题的库称为CVXPY。它是一种用于凸优化问题的Python嵌入式建模语言。...要建立必要的数据,关键是要从月度价格数据表中计算出回报率矩阵。...代码如下, 现在,如果你并排查看原始数据表和回报率表,它看起来像这样, 接下来,我们只需从这个回报率矩阵中计算平均(期望)回报率和协方差矩阵, 之后,CVXPY就允许我们简单地按照我们上面构建的数学模型来设置问题
代入可得(为了方便,我们用t乘目标函数考虑等价问题) 在上述目标中引入Lagrange乘子构建对偶问题有: 对应的KKT条件为 利用Newton Step可以有 整理可得 其中 ....step4: 计算 ,判断 且 ,退出循环,同时输出 ,否则重复step2 齐次内点法(Homogeneous interior-point method) 这里主要介绍Mosek...原问题的对偶问题可以表示为 原问题的最优性条件表示为 原问题和对偶问题的对偶间隔为 引入两个非负变量 ,化简齐次模型得到HLF模型 显然,0解是一个合理但是没什么用的解。...求解HLF模型需要满足以下5个条件: 对应残差为 搜索更新方向为 写成方程组形式 代入 和 得 定义 通过求解 和 来计算 综上,使用mosek求解标准形的线性规划问题的步骤可以整理如下...step3: 初始化 ,计算 step4: 更新 ,再次计算 step5: 更新 ,回step2 注:其中step4中的 为搜索方向。
许多实际问题都可以用这种方法建模。例如,输入可以是电机的设计参数,输出可以是功耗,或者输入可以是业务选择,输出可以是获得的利润。 ?...优化软件的使用要求函数f用合适的编程语言定义,并在编译或运行时连接到优化软件。优化软件将在A中提供输入值,实现f的软件模块将提供计算值f(x),在某些情况下,还将提供关于函数的附加信息,如导数。...MIDACO是一种基于进化计算的单目标和多目标优化的轻量级软件工具。...MOSEK 线性,二次,圆锥和凸非线性,连续和整数优化。 NAG 线性、二次、非线性、线性或非线性函数的平方和;线性、稀疏线性、非线性、有界或无约束;局部和全局优化;连续或整数问题。...高级版包括对gu罗比,Mosek和CPLEX解决方案的支持。 Optimus平台- Noesis Solutions开发的流程集成与优化设计平台。
Gurobi 优势特点: (1)采用最新优化技术,充分利用多核处理器优势 (2)任何版本都支持并行计算,并且计算结果确定而非随机 (3)提供了方便轻巧的接口,支持 C++, Java, Python,...MOSEK MOSEK提供了特定解决线性编程、混合整数编程以及其它非线性转换优化问题。...MOSEK售价为1950刀起。从价格可以看出,Gurobi是目前的NO.1。 好在学生|高校|科研用途都是免费的,只需学校邮箱即可免费下载并使用! Part2 开源整数规划求解器 1....更为可贵的是,yalmip真正实现了建模和算法二者的分离,它提供了一种统一的、简单的建模语言,针对所有的规划问题,都可以用这种统一的方式建模; 至于用哪种求解算法,你只需要通过一次简单的参数配置指定就可以了...尤其需要对优化理论极度深入了解的基础上,对大规模计算机系统工程的开发也非常精熟。这种人才基本上国内也没有能力培养,因此人才是完全匮乏的。国内几十年来,一直没有单位愿意,也没有能力尝试。
PythonRobotics 是用 Python 实现的机器人算法案例集合,该库包括了机器人设计中常用的定位算法、测绘算法、路径规划算法、SLAM、路径跟踪算法。...地址: https://github.com/AtsushiSakai/PythonRobotics 需求 Python 3.6.x numpy scipy matplotlib pandas cvxpy...这是一个具有奇异值分解的 2D ICP 匹配例子,它可以计算旋转矩阵和点到点之间的平移向量。 路径规划 动态窗口法 ?
目前,叶荫宇担任优化软件公司 MOSEK 科技顾问委员会主席、杉数科技的首席科学顾问。...那时候还没有计算机,数学不接地气,无法落到实地,无法真正应用到人们生活中,产生一些影响。于是数学家们就开始寻求落地的方案。...之后运用到经济学中后,运筹学得到快速发展,特别是计算机的高速发展,以前遇到结构问题,可能要 1 小时,现在可能不到1秒就可以解出来,这里面有硬件的控制,也有算法的提高。...在大数据时代的商务决策中,要用到计算机、信息学,包括机器学习,数据搜集,然后我们要通过机器学习做一些规律性分析,然后就是建模、决策。...现在,华尔街搞风险控制的都是用二次模型,用的求解器也就使用的 Mosek 。那么在交易过程当中,你的算法你的求解器比别人家快一些,我个人认为高频交易的竞赛也就是算法速度的竞赛。
1920年德国物理学家楞次(Wilhelm Lenz,注意不是发现楞次定律的那个俄国科学家)研究了这个问题并提出了一个理论模型:他认为可以把物质内部想象成一张网格,每个小格子里都分布有一个原子,这个原子用一个简化的箭头表示...这个结论表明,我们确实可以用一张二维网格去模型化实际物质,将一个个原子用箭头表示,而无需考虑粒子本身的各种纷繁复杂的属性。值得一提的是,在对伊辛模型求解所做的贡献中也不乏中国人的身影。...在凝聚态物理中存在各种各样的模型,这些模型并不对系统的具体细节属性有所规定,也就是说,对于两个包含原子不同的系统,当它们运用相同的模型进行计算(当然得满足该模型所规定的前提条件)时,所最终求解的边界条件...、临界指数等值应当相等且与理论完全吻合(否则理论要被修正);二维伊辛模型中同样存在一组临界指数,对这些指数的求解一直是一个重大的研究课题之一:杨振宁就曾于1952年严格求解出当时由昂萨格在一次国际会议上随手写下却未证明的一个指数...;后来,1967年吴大峻等人又成功计算出另一指数。
指数分布 指数分布(exponential distribution)的密度函数随着取值的变大而指数减小。...参数scale等于 image.png 指数分布是无记忆(memoryless)的。我们以原子衰变为例。任意时刻往后,都需要10年的时间,会有一半的原子衰变。...已经发生的衰变对后面原子衰变的概率分布无影响。用数学的语言来说,就是 image.png 等式的左边是原子存活了s的概率。而等式的右边是某一时刻t之后,原子再存活s时间的概率。...作为统计先驱,这位数学家需要在咖啡馆“坐台”,为赌徒计算概率为生。(看来法国咖啡馆不止有文艺青年,也有技术屌丝啊。) ? Abraham De Moivre ?...De Moivre最早用离散的二项分布来趋近这一分布,而高斯给出了这一分布的具体数学形式。 正态分布自从一出生就带着无比强大的“主角光环”,它的特殊地位在后面文章中的中心极限定理中凸显出来。
参数scale等于[$1/\lambda$] 指数分布是无记忆(memoryless)的。我们以原子衰变为例。任意时刻往后,都需要10年的时间,会有一半的原子衰变。...已经发生的衰变对后面原子衰变的概率分布无影响。...用数学的语言来说,就是 $$P(X > s) = P(X > s+t | X>t), for\, s,t \ge 0$$ 等式的左边是原子存活了s的概率。...而等式的右边是某一时刻t之后,原子再存活s时间的概率。可以利用指数分布的累积分布函数,很容易的证明上面的等式。指数分布经常用于模拟人的寿命或者电子产品的寿命,这意味着我们同样假设这些分布是无记忆的。...作为统计先驱,这位数学家需要在咖啡馆“坐台”,为赌徒计算概率为生。(看来法国咖啡馆不止有文艺青年,也有技术屌丝啊。) ? Abraham De Moivre ?
今天刊发在《科学》杂志的最新论文,量子计算机有史以来第一次以可扩展的方式,用 Shor 算法完成对数字 15 的质因数分解。...因为 RSA 加密之所以有效,最重要的是因为整数的质因数分解,在数字特别大的时候,传统的计算方法根本看不到算完的那一天。现在最快的质因数分解算法,其花费的次指数时间,也达到了 ?...穿越量子森林 在经典计算中,用0和1的组合来表示数字,而计算是根据算法的“指导”来进行的,通过操作这些0和1将输入的数字转变为输出的数字。...“通过这种方式,我们能够精确地知晓某个原子的位置,”Chuang解释道,“然后我们用同样的方式处理几微米之外的另一个原子——这个距离大约是人类头发宽度的1/100。...“Shor的算法是第一个不容小觑的量子算法,拥有对经典算法进行指数级加速的潜力,”Ritter说道,“许多研究者都在关注量子计算,因为它或许能为算法带来可观的加速效果。
这是一组用Python编程语言实现的机器人算法。该项目的重点是自主导航,目标是让机器人初学者了解每个算法背后的基本思想。01 项目简介近年来,自主导航技术在许多领域受到了巨大的关注。...它是在MIT许可证下用Python编写的。它有很多模拟动画,显示了每个算法的行为。它有助于学习者理解其基本思想。02 项目理念PythonRobotics项目基于三个主要理念。...numpy[8]用于矩阵和向量运算scipy[15]用于数学、科学计算用于绘图和可视化的matplotlib[6]Pandas[10]用于数据导入和操作用于凸优化的cvxpy[5]这些模块是OSS,也可以免费使用
指数运算符(**):这个运算符用于计算一个数的幂,可以代替Math.pow()方法。 对象解构的剩余和展开属性:这个特性允许我们在对象解构中使用剩余和展开属性,使代码更加简洁和易于维护。...共享内存和原子操作:这个特性允许我们在多个线程之间共享数据,使用原子操作来确保数据的一致性和可靠性。 在本篇博客中,我们将详细介绍ES7的新特性。 正文开始 1....指数运算符(**) 在ES7中,指数运算符(**)被引入,用于计算一个数的幂。这个运算符可以代替Math.pow()方法,使代码更加简洁和易于阅读。...共享内存和原子操作 在ES7中,共享内存和原子操作被引入,允许我们在多个线程之间共享数据,使用原子操作来确保数据的一致性和可靠性。这个特性使JavaScript可以更好地处理并发和多线程编程。...这些特性包括Array.prototype.includes()方法、指数运算符( ** )、对象解构的剩余和展开属性、异步函数以及共享内存和原子操作。
DeepMind表示,FermiNet是第一个利用深度学习来从第一性原理计算原子和分子能量的尝试,并拥有足够的精确度。...即使是最近似的方法,量子化学计算最多只能求解包含数万个电子的模型,而经典的(即非量子的)化学计算技术(例如分子动力学)可以处理数百万个原子。...经典系统的状态可以用很简单的方式描述,只需要知道每个粒子的位置和动量。而表示量子系统的状态则更具挑战性,因为电子的位置是不确定的,必须给出其概率分布。...例如,假设有每个维度上具有100个点的网格,则硅原子的可能位置分布数将大于宇宙中的原子数。 图1:不同的原子轨道波函数图像,表面代表出找到电子的高概率区域。...这些系统很小(少于10个电子)且足够简单,可以用最准确的方法进行处理。 FermiNet的性能远胜于对应的VMC计算(相对于指数缩放计算,通常可以将误差减少一半或更多)。
这使得数据存储的管辖权和其主机的管理策略成为评估云计算环境的新维度。...云计算环境的可选范围也在扩大,比如在“函数即服务”和“管理更长寿命集群”这两者之间,就可以选择提供了“容器即服务”(CaaS) 的 AWS Fargate 这个有趣的选项。...世界上有数不清的问题都可以用数学优化问题来表达,而其中可以用凸问题来描述的那部分常常能够得到有效解决。CVXPY便是一种针对凸优化问题所开发的开源Python嵌入式建模语言。...尽管有些时候,我们仍然需要类似Gurobi和IBM CPLEX这类商业解决方案,但CVXPY在原型设计阶段可以说所向披靡。在多数情况下,有CVXPY就足够了。
传统的计算方法如虚拟筛选,通过在一个分子库中进行搜索并评分,以识别出与特定目标最匹配的分子。然而,随着分子大小的增加,化学空间呈指数级增长,随机搜索的效率变得非常低下。...然而,它们需要额外的计算成本,并且尚未应用于3D生成模型。最近,实验证明,非等变但更具表现力的模型在计算机视觉到分子生成的不同领域中与等变模型竞争。...模型方法 为了体素化分子,作者将原子表示为3D空间中的球形密度,其密度随到原子中心的平方距离呈指数衰减。通过将原子周围的空间离散化为体素网格来创建体素化分子,每个体素的值表示原子的占据情况。...每种原子类型(元素)用一个不同的网格通道表示(类似于图像的R,G,B通道)。...然后,作者用Langevin MCMC对噪声体素化配体(给定口袋)进行采样,并用估计器估计干净样本。最后,作者从体素网格中恢复原子坐标。
但逼真的场景、丰富的细节离不开超高精度的物理模拟,因此特效的每一帧几乎都是用经费烧出来的。 现代动画电影(包括《冰雪奇缘》等),经常使用基于物理的动画生产特效,丰富感官的体验。...; 共享指数浮点类型(Shared exponent):同样由用户指定的小数和指数部分组成。...位结构体融合存储 这种优化的核心思想是分析 Kernel 的计算流程,将 bit-struct 内部的成员变量尽可能批量写入,减少原子性内存访问次数。...之所以使用 atomicRMW 而不是非原子操作,是为了避免原子位结构体中的部分位被程序并发修改。...但当位结构体整体存储时,我们并不需要担心这一问题,因此可以使用非原子操作代替计算代价昂贵的 atomicRMW。 3.
领取专属 10元无门槛券
手把手带您无忧上云