本周报告 Two sigma: 最近十年价值回撤的诊断 摘要 本文调查了自2008年全球金融危机以来,传统衡量的价值股为何表现不佳,并提出了一种可能更有效的识别价值股方法。...如下图所示,其在全球金融危机后的表现与其前十年的表现形成鲜明对比,导致许多人质疑价值投资的时代是否已经结束。 为了获得最有利可图的价值效应,需要可靠地识别被高估和被低估的股票。...传统的做法是根据市账率对股票进行排序,然后做多高比率的股票,做空低比率的股票。...如果发现两个平均值之间的差异在统计上显著不同于零,则可以说这两个子时段代表时间序列的不同状态。 请注意,5/+,#和 $%&',#达到其最大值的时期或多或少与5,#和+,#达到其最大值的时期一致。...这表明,基于账面价值的价值策略的回报率的制度变化,可能是由于推动价值和魅力股票不一致的制度变化驱动的。 不一致和价值的另一种定义 另一种衡量价值的方法是收益率,它是公司收益与其市值的比率。
问题描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大。... 1*2*(3+4+5)=24 1*(2+3)*(4+5)=45 (1*2+3)*(4+5)=45 …… 输入格式 输入文件共有二行,第一行为两个有空格隔开的整数...第二行为 N个用空格隔开的数字(每个数字在0到9之间)。...输出格式 输出文件仅一行包含一个整数,表示要求的最大的结果 样例输入 5 2 1 2 3 4 5 样例输出 120 样例说明 (1+2+3)*4*5=120...[] sum = new long[20]; static long[][] dp = new long[20][20]; /* * dp[i][j]代表前i个数中有j个乘号的最大值
前言 EK算法是求网络最大流的最基础的算法,也是比较好理解的一种算法,利用它可以解决绝大多数最大流问题。...但是受到时间复杂度的限制,这种算法常常有TLE的风险 思想 还记得我们在介绍最大流的时候提到的求解思路么? 对一张网络流图,每次找出它的最小的残量(能增广的量),对其进行增广。...因为DFS的搜索顺序的原因,所以某些毒瘤出题人会构造数据卡你,具体怎么卡应该比较简单,不过为了防止大家成为这种人我就不说啦(#^.^#) 所以我们选用BFS 在对图进行遍历的时候,记录下能进行增广的最大值...通过上图不难看出,这种算法的性能还算是不错, 不过你可以到这里提交一下就知道这种算法究竟有多快(man)了 可以证明,这种算法的时间复杂度为 大体证一下: 我们最坏情况下每次只增广一条边,则需要增广...在BFS的时候,由于反向弧的存在,最坏情况为 总的时间复杂度为 后记 EK算法到这里就结束了。 不过loj那道题怎么才能过掉呢? 这就要用到我们接下来要讲的其他算法
1 算法channel 公众号才成立两个月,在这段日子,每天推送一篇算法,机器学习,深度学习相关的文章,包括: 算法的基本思想 算法的实例分析 有些算法的源代码的实现 案例实战 2 原创文章整理 1机器学习...:半朴素贝叶斯分类器 22 机器学习期望最大算法:实例解析 23 机器学习高斯混合模型(前篇):聚类原理分析 24 机器学习高斯混合模型(中篇):聚类求解 25 机器学习高斯混合模型(后篇):GMM...32 机器学习集成算法:XGBoost思想 33 机器学习集成算法:XGBoost模型构造 34 决策树回归:不掉包源码实现 35 机器学习:提升树(boosting tree)算法的思想 36 为什么要有深度学习...70 二叉树非递归版,前序遍历算法解析 71 二叉树非递归版,中序遍历算法解析 72 二叉树非递归版,后序遍历算法解析 73 回溯树求集合全排列和所有子集 74 LeetCode实战:动态规划算法是怎么一回事...6 致谢 感谢大家的陪伴,你们的参与是我不断前进的动力!
作者:Adam Breuer,Eric Balkanski,Yaron Singer 摘要:在本文中,我们描述了一种称为快速自适应排序技术(FAST)的新算法,用于在基数约束下最大化单调子模块函数,其近似比任意接近...最近的算法在渐近最坏情况分析方面具有可比较的保证,但是它们的实际轮数和查询复杂度在精度和置信度方面取决于非常大的常数和多项式,使得它们对于大数据集是不实际的。...我们的主要贡献是在非渐近最坏情况查询复杂性和轮次数以及实际运行时方面都非常有效的设计。...我们表明,该算法优于我们所知道的任何子模块最大化算法,包括通过在大型数据集上运行实验,对现有技术的串行算法进行超优化并行版本。这些实验表明,FAST比现有技术快几个数量级。
算法的原理: 对于辗转相除法:i和j的最大公约数,也就是i和j都能够除断它。换句话讲,就是i比j的n倍多的那个数k(i = j*n + k,即i % j = k)应该也是最大公约数的倍数。...所以就能转换成求k和j的最大公约数。同理,对于更相减损术,同样的道理,i比j大的部分也是最大公约数的倍数。...代码: 1 /** 2 * 求最大公约数算法汇总 3 * 4 */ 5 public class GCD { 6 public static void main(String[...k.然后将问题转换成求k和m的最大公约数.依此类推,直到差为0. 48 * 这个方法也有一个问题,就是如果i和j想差的比较大,那么这个方法存在较高的时间复杂度. 49 */ 50...} 66 } 67 } 68 69 /** 70 * 第一种方法:辗转相除法, 即如果i>j, 那么先用i%j得到余数k.将问题转换成求k和m的最大公约数
回撤曲线 上面的例子表明,在最优f上投资SPY会导致一些极端的不适。让我们来看看如何构造一条类似于GHPR最大跌幅的曲线,通过增加头寸规模来增加最大回撤。...这是在只生成了10条曲线之后;我们将在下面看到,可能的值可以有很大的变化。 ? ? 最大回撤:78.479% 最大回撤从不到30%到超过70%不等!这个范围比较广泛。...如果我们想使用回撤作为风险度量,我们需要处理其固有的不确定性。我们无法完全限制预期回撤结果,因为最大回撤值可能会出现在很大范围内。然而,我们可以相当有信心地说,所经历的最大回撤不会超过我们的阈值。...事实上,可以证明最大回撤与时间的平方根成正比(大家可以自己证明一下)。直观地说,一个账户下个月的最大回撤将低于下一年的最大回撤。为了准确地设置最大回撤的阈值,我们需要定义时间范围。...根据我们期望的时间范围,从收益分布中随机抽取一些收益作为样本。 通常选择>1000来获得一个精确的回撤分布图。 计算每条曲线的GHPR和最大回撤。 确定在我们指定的置信水平上的回撤水平。
3 过度关注最大回撤 作为一个策略,有很多评价我的风险收益特征的指标,最大回撤就是其中之一。当管理人和投资者介绍我的时候,无一例外的会对我的最大回撤探讨一番。...与最大回撤的差异形成对比的是,无论是日频预期收益、波动率还是夏普率,这两个策略却都是一样的。仅仅因为涨跌序列顺序不同,造成了不同的最大回撤。...顾名思义,最大回撤就是“最大”的那个回撤,它本身就是一个很偶然的量。在样本内回测,得到的最大回撤只有这么一个点估计。一旦参数发生变化,最大回撤也会发生变化。因此,使用点估计来评价最大回撤是不够合理的。...更科学的做法是对策略的尾部建模,得到最大回撤的分布再进行分析。 然而,我想和管理人说的并不是这个,而是除了最大回撤外,还有很多更加合理的评价回撤的指标,比如平均回撤、线性加权回撤等。...而该文认为,不同的回撤指标仅是这些 t 时刻的回撤的某种加权平均。比如,整个策略的最大回撤就是不同 t 时刻的回撤中最大的那个。
问题描述 对于n个数,从中取出m个数,如何取使得这m个数的乘积最大呢?...输入格式 第一行一个数表示数据组数 每组输入数据共2行: 第1行给出总共的数字的个数n和要取的数的个数m,1<=n<=m<=15, 第2行依次给出这n个数,其中每个数字的范围满足...:a[i]的绝对值小于等于4。...输出格式 每组数据输出1行,为最大的乘积。
问题描述: (这个问题描述可能不太准确 是根据我个人的理解写出来的) 输入一个序列的数字 求他的最大子序列 包括空集合 例如说...1 , 2 ,3 那么他的子序列就是 【 [1,2,3] [1,2] [1,3] [2,3] [ 1 ] [2 ] [...3] [] 】 我的解决思路是通过递归调用 1....每个元素有两种状态,一种状态是取当前元素,一种状态是不取当前元素 所以需要 一个单独的辅助数组 用来记录当前元素是否取 取完所有取当前元素的子情况,就获取所有不取当前元素的子情况...需要一个索引记录 当前循环到的层数,如果获取完所有元素就添加到List中 ?
问题描述 给定一个数组,求如果排序之后,相邻两数的最大差值,要求时间复杂度O(N) 例子: 5,9,8,3,15 那么排序后的数,3,5,8,9,15,因此相邻最大差值为15-9=6 解题思路 由于时间复杂度要求为...这里我们需要借助桶排序的思想: 1)找出数组的最大值max和最小值min 2)将区间均等的划分为 N + 1份,即有N + 1个桶。...依次比较每两非空桶,即后桶的min减去前桶的max 的差值,即可获得最大的差值 实现代码 public static int maxGap(int[] nums) { if (nums ==...null || nums.length < 2) { return 0; } // 1)找出数组的最大值max和最小值min int max =...// 依次比较每两非空桶,即后桶的min减去前桶的max 的差值,即可获得最大的差值 for(int i = 0; i <= len; i++) { if (hasNum[i]) {
一、题目 1、算法题目 “给定包含0和1的二维矩阵,找出只包含1的最大矩阵,返回其面积。” 题目链接: 来源:力扣(LeetCode) 链接:85....最大矩形 - 力扣(LeetCode) (leetcode-cn.com) 2、题目描述 给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积...首先,说一下暴力解法:列举所有可能出现的矩形,枚举矩形所有的左上角和右下角坐标,并检查该矩形是否是面积最大的,但是这样做时间复杂度过高,会超时。我发现在学算法之前我写出来的算法都是暴利解法。。。...那么就可以使用单调栈的做法,找到最高的柱子,并找到它左右的最大高度,拼接成最大的矩形,得到面积就是想要的结果。...思路就是: 枚举矩形的下边界,枚举下边界的每一列的高度 找到最高的柱子向左右寻找最大的矩形 得到矩形求出面积
前置知识 网络最大流入门 前言 Dinic在信息学奥赛中是一种最常用的求网络最大流的算法。 它凭借着思路直观,代码难度小,性能优越等优势,深受广大oier青睐 思想 Dinic算法属于增广路算法。...它的核心思想是:对于每一个点,对其所连的边进行增广,在增广的时候,每次增广“极大流” 这里有别于EK算法,EK算法是从边入手,而Dinic算法是从点入手 在增广的时候,对于一个点连出去的边都尝试进行增广...Dinic算法的理论时间复杂度为 证明可以看这里 但是!...Dinic算法的性能在比赛中表现的非常优越。...按照集训队大佬ly的说法,我们可以认为Dinic算法的时间复杂度是线性的(比某标号算法不知道高到哪里去了) 代码 题目链接 #include #include #include
算法是什么 ---- 很多人可能都听过算法,可能也实现过一些算法,如果问他什么是算法,可能也很难的准确的说出来。确实,给一个事物下定义是很难的,因为总会有没有覆盖的点。...因此平常很少有对算法有比较强烈的需求。 算法的用处需根据应用场景来决定的,比如你做了一个游戏,要求结束后会立刻显示分数排名,这里就需要一个排序算法,从高到低排好序显示出来。...除了常见的列表,字典,集合和排序和搜索算法外,还有队列,栈,树,图等数据结构,贪心算法,递归算法,递推算法,记忆化搜索,动态规划,回溯算法,广度,深度优先算法,它们各自有自己的应用场景。..., 0, 0, 0] [0, 0, 0, 0] --结束回撤-- --开始回撤-- [0, 0, 0, 0] [0, 0, 0, 0] [0, 0, 0, 0] [0, 0, 0, 0] --结束回撤-..., 0, 0, 0] [0, 0, 0, 0] --结束回撤-- --开始回撤-- [0, 1, 0, 0] [0, 0, 0, 0] [0, 0, 0, 0] [0, 0, 0, 0] --结束回撤-
在特征选择中,“最好的m个特征不一定是m个最好的特征”,从相关度与冗余度来看,最好的m个特征是指与分类最相关的特征,但由于最好的m个特征之间可能存在冗余,因此最相关的m个特征并不一定比其他m个特征产生更好的分类准确率...2、怎样解决特征之间的冗余。 互信息 互信息可以度量两个变量x,y之间的相关关系。如下图所示: ? 考虑特征x与分类目标c,计算I(x,c),I(x,c)的大小代表了x与c之间的关联度的大小。...从所有特征中选出与c之间互信息最大的m个特征,就可以得到与c最相关的m个特征。 最大相关度与最小冗余度 设S表示特征{xi}的集合,|S|=m. 为了选出m个最相关特征,使得S满足如下公式: ?...可见目标是选出m个平均互信息最大的集合S。 S很可能包含相关度很大的特征,也就是说特征之间存在冗余。集合S的冗余度如下式所示: ?...最终目标是求出拥有最大相关度-最小冗余度的集合S,直接优化下式: ? 直观上说D的增大,R的减小都会使得目标函数增大。 假设现在S中已有m-1个特征,现在需要从余下的特征中选择第m个特征。
##题目 实现一个最大(小)栈,即可随时拿出当前栈中最大(小)的元素 ##解题思路 这是一道非常经典的面试题,目题目也不难,但还是很能考察开发人员的基本功的,所以面试官很容易脱口就问到这个题 这道题目的要求其实就是实现一个特殊的栈...这个栈能够随时拿到栈中所有元素的最大(小)值 这就是题目所有的要求了 所以在已有栈的基础上稍加改进就能实现 比较简单的办法就是使用两个栈来实现这个特殊的栈 其中一个栈stack正常进出元素 另外一个栈...stackMax(stackMin)在进元素的时候,与栈顶的元素做一个比较 如果大于(小于)栈顶元素,则正常入栈 如果小于(大于)栈顶元素,则将当前栈顶的元素再次入栈 注意:当前元素栈顶并不出栈 出栈的时候就跟随...stack正常出栈 这样就能保证stackMax(stackMin)跟stack的高度永远一致 并且栈顶的元素永远是最大(小)值 ##算法图解 以最大栈为例进行图解演示 定义两个栈,和一堆需要入栈的元素...stackMax栈中,则需要将入栈元素“1”与栈顶元素“3”进行比较 “3”>“1”,所以将栈顶元素“3”,再次入栈 依次类推,知道所有元素入栈 在这个过程中,stackMax栈的栈顶元素,始终是最大元素
在统计计算中,最大期望(EM,Expectation–Maximization)算法是在概率(probabilistic)模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent...最大期望经常用在机器学习和计算机视觉的数据集聚(Data Clustering)领域。 可以有一些比较形象的比喻说法把这个算法讲清楚。...Θ的最大似然估计是求不完整数据的对数依然函数L(X;Θ)的最大值而得到的: L(Θ;X)= log p(X|Θ) = ∫log p(X,Y|Θ)dY ; EM算法包括两个步骤:由E步和M步组成,它是通过迭代地最大化完整数据的对数似然函数...Lc(X;Θ)的期望来最大化不完整数据的对数似然函数,其中: Lc(X;Θ) =log p(X,Y |Θ) ; 假设在算法第t次迭代后Θ获得的估计记为Θ(t) ,则在(t+1)次迭代时, E-步:计算完整数据的对数似然函数的期望...EM算法的主要目的是提供一个简单的迭代算法计算后验密度函数,它的最大优点是简单和稳定,但容易陷入局部最优。
最大子数组问题,股票价格示例: 1.在最高价格开始向左寻找之前的最低价格 2.在最低价格开始向右寻找之后的最高价格 3.暴力求解法,尝试每队可能的买进和卖出组合,保证卖出在买进之后 key buy sell...key key=p if key<p buy=i sell=j 问题变化:数组A中元素连续相加最大的子数组,只有当元素有负数时才有意义 分治策略的求解思路: 1.找到数组中的中央位置mid...A[low..mid] low<=i<=j<=mid 3.完全位于A[mid+1..high] mid<i<=j<=hign 4.跨越中点 low<=i<=mid<j<=hign 5.找出左半部分最大和...(从中间到左找),找出右半部分最大和(从中间向右找) leftSum left for i=mid;i>=low;i-- sum=sum+A[i] if sum>leftSum
# 最大最小距离算法的Python实现 # 数据集形式data=[[],[],...,[]] # 聚类结果形式result=[[[],[],...],[[],[],...],...] # 其中[]为一个模式样本...将Z2加入到聚类中心集中 zs.append(data[index]) # 计算阈值T T = t * distance return T # 计算两个模式样本之间的欧式距离
1 分治法 问题分析思路 将 数组 a[i...j]进行近二等分为2个子数组: a[i...mid] , a[mid+1 ... j]; 设最大子数组的下标为 left,right,那么left ,right...和 right 要么都在mid左边,要么都在mid右边,或者一个在左边,一个在右边; 那么接下来我们看一下,将数组完全二分后,求解思路: 先将数组进行二分 可以看到,分解后最小问题为单元素求解,最大子数组即为其自身...; image-b0db3ae1f48c4e5eac15e17fe6aa584d.png 到第二级时(此时数组只有2个元素),且已知左子数组的 最大子数组 和 右子数组的最大子数组,那么只剩下求解...以此类推,我们可以知道,实际上最后的问题都转化为了 跨 mid的结果 与 二分后的左右子数组的最大子数组的2个结果 三个之中作比较取最大值,而 左右子数组的最大子节点到最后又转化为了单节点,所以最终问题转化为了...maxValue + '}'; } } } 贪心法 使用一个变量来记录所有的加和,这个加和一旦为负数,及抛弃前面所有的数据,重新开始计算求和,中间记录最大的和即为目标值
领取专属 10元无门槛券
手把手带您无忧上云