目录

我的学习分享

记录精彩的程序人生

标签: 转载 (136)

关于equals和hashCode,看这一篇真的就够了

equals在Java中含义 首先要解释清楚这个,equals方法在Java中代表逻辑上的相等,什么叫逻辑上的相等?这个就涉及到Java本身的语法特性。 我们知道,Java中存在着==来判断基本数据类型的相等,但是对于对象,==只能判断内存地址是否相等,也就是说是否是同一个对象: int a = 10000; int b = 10000; // 对于基本数据类型, == 可以判断逻辑上的相等 System.out.println(a == b); Integer objA = 10000; Integer objB = 10000; Integer objA1 = objA; // 对于类实例, == 只能判断是否为同一个实例(可以视为内存地址是否相等) System.out.println(objA == objB); System.out.println(objA == objA1); 注:这里我们不讨论Integer对于-128~127的缓存机制。 结果显而易见: 但是明明objA和objB逻辑上是相等的,凭什么你就返回fals?这时就诞生了一种需求,对于Java中的对象,....

一句话说明白Java线程池中shutdown和shutdownNow的区别

一般情况下,当我们频繁的使用线程的时候,为了节约资源快速响应需求,我们都会考虑使用线程池,线程池使用完毕都会想着关闭,关闭的时候一般情况下会用到shutdown和shutdownNow,这两个函数都能够用来关闭线程池,那么他们俩之间的区别是什么呢?下面我就用一句话来说明白shutdown和shutdownNow的区别。 一、一句话说明白shutdown和shutdownNow的区别 shutdown只是将线程池的状态设置为SHUTWDOWN状态,正在执行的任务会继续执行下去,没有被执行的则中断。而shutdownNow则是将线程池的状态设置为STOP,正在执行的任务则被停止,没被执行任务的则返回。 举个工人吃包子的例子,一个厂的工人(Workers)正在吃包子(可以理解为任务),假如接到shutdown的命令,那么这个厂的工人们则会把手头上的包子给吃完,没有拿到手里的笼子里面的包子则不能吃!而如果接到shutdownNow的命令以后呢,这些工人们立刻停止吃包子,会把手头上没吃完的包子放下,更别提笼子里的包子了。 二、线程状态知识延伸 在ThreadPoolExecutor中定义了关....

【量化说】量化百问06:如何快速获得策略思路?

之前本号分享过一篇文章《量化百问04:策略的完整开发流程是怎样的?》,详细阐述了量化策略开发的完整流程,一般情况下,总共分为6个步骤:策略构思 -> 编程实现 -> 策略回测 -> 策略优化 -> 模拟交易 -> 实盘交易。 当时主要是为了讲清楚开发流程,给大家勾勒出整体的框架,并没有对每个步骤进行详细的展开,给大家的更多是感性上的认识,为了提高干货度和实操性,接下来的几期文章会分别对每个步骤进行详细展开,力争每个量化初学者都可以轻松上手。 本期先来讲讲『策略构思』部分,这是量化初学者开发策略时遇到的第一个门槛儿:如何获得策略思路和灵感? 在之前的文章《量化百问03:策略该怎么分类?》中有对策略进行过定义,其实它就是由若干条可数量化的交易规则组合的,这些规则定义了交易品种、进场点、出场点、仓位控制和资金管理等策略核心元素,策略灵感无非就是把看到/想到/领悟到的信息填入到对应的策略核心元素上,便形成了一个完整的量化策略,等待着编程实现。 本文主要跟大家讲讲日常宽客获得策略灵感的5大途径,按照策略实现难度递增的顺序讲述。 01 大神的策略源码 在量化平台的社....

【量化】6大最常用的Java机器学习库一览

导读:机器学习是目前盛行于世的技术之一,这几年一时风头无两。虽然在机器学习中,Python是人工智能从业者使用最多的编程语言,但是,Java 在项目开发中仍然发挥着不可替代的作用,而且许多流行的机器学习框架本身就是 Java编写的。Python 的资料到处都是,而 Java 相关的资料就相对少了很多。今天我们翻译了 Fatema Patrawala> 撰写的《六大最常用的 Java 机器学习库一览》。 在 MLOSS.org 网站上,列出了 70 多个基于 Java 的开源机器学习项目,可能还有更多未列出的项目,存于大学里的服务器、GitHub 或 Bitbucket 中。我们将在本文中回顾 Java 中的主流机器学习库和平台,它们能够解决的问题类型,支持的算法以及可以使用的数据类型。 本文节选自 Machine learning in Java,由 Bostjan Kaluza 编写,Packt Publishing Ltd. 出版 Weka Weka 是 Waikato Environment for Knowledge Analysis(Waikato 智能分析环境)的缩写....

【量化】CCI Correction

Introduction Developed by Donald Lambert, the Commodity Channel Index (CCI) is a momentum oscillator that can be used to identify a new trend or warn of extreme conditions. This strategy uses weekly CCI to dictate the trading bias when it surges above +100 or plunges below -100, which are key levels noted by Lambert. Once the trading bias is set, daily CCI is used to generate trading signals when it reaches its extremes. Strategy Lambert's trading guidelines for the CCI focused on movements abov....

【量化说】量化百问05:如何定量判断策略的好坏?

在文章开始之前,首先要特别感谢『Miracle-』童鞋,他是本号的活跃读者,在本号专栏《量化百问》征求读者意见时,在情人节当天特地向我们建议,说可以做一期关于“如何评估一个策略的好坏”的专题,于是就有了本期内容,再次衷心感谢『Miracle-』童鞋的建议! 正文开始! 在上一讲《量化百问04:策略的完整开发流程是怎样的?》中,详细阐述了量化策略开发的通用流程,大家应该对量化策略从构思到实盘交易有了一定的了解。 那么,新的问题就来了,将量化策略比作是车间生产出来的产品,自己怎么断定这个产品的好坏呢? 除了直观定性地看策略净值曲线外,宽客一般还有什么定量的指标去衡量策略的优劣?并且还要做到不同净值曲线之间依靠单个指标就可以对比出来,高下立判呢? 接下来,大家宅在家里听我废话一下,听听国内外宽客经常用来度量策略优劣的指标,这些指标当中有度量策略收益的、度量风险的、度量与基准相关度的和综合度量的。 01 度量收益的指标 策略的收益自然而然地可以想到是使用收益率来度量,一般收益率分为累积收益率、年化收益率、超额收益率。 为了方便理解,举这样一个例子,小宽开发了一个选股策略,10万元的本金在两年里....

【量化说】量化百问04:策略的完整开发流程是怎样的?

0 引言 在上一篇文章中《量化百问03:策略该怎么分类?》中讲了什么是宽客经常要打交道的量化策略类型,其中为了说明其定义的时候,举了这么一个例子: 所以呢,你马上去找一个本子,胡乱写下几条交易规则,这就是实打实的策略了,但关键赚不赚钱这另说。 问题来了,怎么证明一个策略赚不赚钱? 难道听了某位“民间股神”的绝招,自己就屁颠儿屁颠儿地跑去实盘交易,然后就等着日进斗金了吗? 当然不是这样子的,至少在量化投资领域不是! 在量化界,证实一个投资策略在过去历史中是否有效的过程就是回测(Backtest),也就是说,你构建了一个投资模型,将其放到历史数据当中“跑一跑”,看看盈亏情况如何。 如果回测的净值曲线一直“萎靡不振”或“狂泻不止”,而且程序里面没检查出啥错误,那这个投资策略就很有可能就是无效的(至少在历史当中)。一般情况下,回测的效果要比实盘效果好一些,回测效果都不好的情况下,那实盘效果更加堪忧。 如果回测的净值曲线坚挺向上,稳稳的四十五度角,那也不要高兴的太早哦,那可能是“未来函数”或“过度拟合”在作祟,只有在排除这两者和程序错误之后,才有上模拟盘和实盘的意义。 那一个典型完整的策略开发流....

【量化说】量化百问03:策略该怎么分类? 有更新!

(一) 上一篇文章《量化百问02:宽客是干什么的?》中介绍了宽客的工作内容,大家也都了解了宽客们到底是干啥子工作的,他们工作的大部分内容都是围绕着“策略”这个核心。 量化策略到底是什么东东呢? 逼格高一点的说法就是:有限个可数量化的交易规则的集合。 我勒个去~~~这是啥嘛? 好吧,敝号还是秉承着说人话的原则,给各位看官“掰开了,揉碎了”地解释一下。 (二) 大家想象一下,基金经理手里有一本笔记本,某一页上面记录着:当股票出现***形态,且***指标出现底背离的时候进场,基于***公式计算出应该买入的仓位;当盈利 N% 后,加四分之一的仓位;当***指标由红转绿之后,按现价抛出全部仓位。 上面的就是一个写在纸上的策略,这个策略包含了进场点、出场点、仓位确认等数个交易规则,也可以说是一个小的交易系统。 所以呢,你马上去找一个本子,胡乱写下几条交易规则,这就是实打实的策略了,但关键赚不赚钱这另说。 证明一个策略是否有效的过程叫做“策略回测”或者“回测”(Backtest),一个被回测证明了有效的策略才敢放到基金经理的案头上,之后敝号会另起一篇详细介绍策略的构建和回测流程。 为啥还要强调“可数....

【量化说】量化百问02:宽客是干什么的?

(一) 上一篇文章《量化投资到底是什么?》讲了什么是量化投资,今天我们来说说“宽客”。 什么是宽客?这可不是中文字面上的那个意思,表示“体型很宽大的客人”。从名字上不能直接看出意思,那是因为这是个音译词,从华尔街那边翻译过来的,对应的英文是“Quant”,也就是“Quantitative Investment”的缩写,表示量化投资的从业人员。 对于之前了解过量化投资的小伙伴,可能一提起宽客,就会联想到985/211、清北复交的理工科高材生,端坐在4个行情屏幕的电脑前,快速演算着高深的数学模型,核对着交易信号,赚取一笔笔客观的利润。 (二) 宽客是不是都是这样子呢?我想说,有的是这样子,但不能代表全部。 首先啊,宽客的专业背景是各式各样的,毕业院校也是各式各样的,我曾见过医学生做量化。特别是,国内在私募的宽客的背景就是比较放飞自我了,因为“赚取才是王道”,才不管背景学历这些虚头巴脑的东西,关键是对投资的见解和发现Alpha信号的能力。 其次呢,国内量化的分工也越来越细致,不一定同时既是做着研究又做着交易的,慢慢出现了很多“螺丝钉”式的岗位。 (三) 宽客一般来说都是全栈型的,跟量化投....

【量化说】量化百问01:量化投资到底是什么? 有更新!

(一) 在前一篇文章《量化百问》专栏开篇词中,提到了2018年度全球资管规模最大的10个投资基金中有7个使用了量化投资方法,可见量化投资在投资领域的被重视程度。 可能炒股炒期货多年的人,或多或少听过“量化投资”或“量化”这个词儿,要解释清楚,我不想引用官方教科书式的定义,那些枯燥的表述会破坏我们轻松快乐的学习气氛。 先不要急着解释,闭上眼睛回想一下,提到“量化投资”或“量化”这个词儿的时候,脑海中闪现过什么词语? 这些伴生的词语可能是:高深模型、程序、Python、人工智能、机器学习、深度学习......blablabla一大堆 (二) 其实在我看来,广义的量化投资可能这些东西一个都不需要,或者说这些东西可以有,但不是必须的,且听我慢慢道来。 我举一个简单但完备的量化投资方法:对于股票A,股价上穿20日均线时买入,股价下穿20日均线时卖出。 你把这个量化投资方法当成口诀记住,每天对着行情软件进行买入卖出操作。 这个时候,你就是量化投资的从业者了,就是那个听起来高大上的宽客(quant)。 你瞧,这里面是不是没有高深模型,也不用你写程序写Python,更加没有什么人工智能、机器学习、深....

【量化说】《量化百问》专栏开更啦!

大家好!这里是【量化说】公众号,之前的文章讲了小伙伴大宽的量化之路,这可能也是许多宽客开始使用量化方法进行投资的路径。 量化投资在海外已经有好几十年的历史了,因为量化基金稳定的投资业绩,市场占有规模和份额一直在不断扩大,2018年全球资管规模最大的10个投资基金中有7个使用了量化投资的方法。 虽说我国的证券市场发展至今未满30年,散户依然在证券市场当中占有较大比例,但是量化投资观念已经在中国发展起来了,获得了越来越多投资者的认可。 在国内迅猛发展也是这几年的事情,不信在各大金融终端上查查关于量化的研究报告,在2010前的研究报告占比非常低。 这就我们很多人的机会了,由于中国证券市场未完全成熟的状态,量化投资以其投资的科学性可以在众多散户的非理性之下获取较为稳定的超额收益。 看着量化投资基金稳定坚挺向上的收益曲线,很多人都想学习量化投资,感觉这技术比黑客技术更加神秘、更加炫酷、更有魅力。 但是很多人一打开传统的量化教材就懵圈了,为啥呢?全部都是英文!不对,这样说不够严谨,因为还有部分阿拉伯数字和希腊字母。 因为量化投资首先是在美国发展起来的,那些圣经级别的量化书籍都是用英文写的,那这....

【量化】史上最全量化交易资源整理

开源量化交易框架整理: https://www.oschina.net/p/samaritan https://www.oschina.net/p/vn-py https://www.oschina.net/p/abu https://www.oschina.net/p/abuquant https://github.com/sun0x00/RedTorch 有些国外的平台、社区、博客如果连接无法打开,那说明可能需要“科学”上网 国内在线量化平台: BigQuant - 你的人工智能量化平台 - 可以无门槛地使用机器学习、人工智能开发量化策略,基于 python,提供策略自动生成器 镭矿 - 基于量化回测平台 果仁网 - 回测量化平台 京东量化 - 算法交易和量化回测平台 聚宽 - 量化回测平台 优矿 - 通联量化实验室 Ricequant - 量化交易平台 况客 - 基于 R 语言量化回测平台 Factors - 数库多因子量化平台 诸葛量化 - 量化交易平台 宽狗量化 - 回测量化平台 国外量化平台: Quantopian 研究、回测、算法众包平台 QuantConnect 研究、....

【股票】如何衡量一个投资策略的优劣——通俗地解释一下夏普比率 有更新!

通常情况下,我们跟大多数人交流股票投资的时候,往往会说:我今年赚了 100%。非常不错。 单从收益率上来看,确实还不错,但是我用另一个策略也赚了 100%,而这两个 100% 的质量可能完全不一样。比如左边是他的,右边是我的。 区别在哪儿呢,就在这个最大回撤上,他最多的时候回撤了50%以上,而我的收益曲线很稳定地往上走。有什么用,举个简单的例子就明白了,我们都**借一倍的钱,继续用原来的策略进行操作。**不考虑利息,相对于本金的收益结果就成了下面的样子。 看的出来,我可以坚持到周期结束并且收益翻倍,然而他在最大亏损时已经亏光出局了。毫无疑问,我的策略优于他。 通过上面的例子应该明白,衡量一个投资策略的时候,单一地用收益率或回撤都是不科学的,应当将这两者结合。而**我们常说的风险,并不是指要承担多么大的亏损或回撤,而是需要承担多大的波动。**因此有了这个指标:夏普比率。用来衡量承担单位风险所能获得的收益。其公式为: 其中S表示夏普比率,E(r)表示预期收益率,rf表示无风险收益。E(r)-rf即为超额收益率,σ为收益曲线的标准差(波动率)。 夏普率的解释大概就是这样子,大多数情况下....

【股票】富途证券发布“富途新经济指数”指数原来这样编制的

现在资本市场什么话题可上热搜?三个答案:“独角兽”、新经济、世界杯(前两个不分先后,最后一个热度略低)。 《每日经济新闻》记者发现,药明康德上市后则走出了16个涨停,当时成为年内最赚钱的新股。6月8日,工业富联在A股上市,虽然6月13日便已打开涨停,但其超过5000亿元的总市值(截至6月13日收盘)仍然赚足市场眼球。在6月14日,宁德时代上市后走出了第四个涨停。而小米也将在港交所IPO,同时也在A股发行CDR。可以预期的是,未来新经济公司会在A股市场占据举足轻重的地位。 凡是新事物,均是风险与机遇并存。对于投资者来说,怎样认识新经济?如何在新经济中寻找到合适的投资标的?这是一个日益重要的问题。 近期,互联网券商富途证券在北京发布了“富途新经济指数”系列,对新经济概念进行了微观层面的量化评估,追踪反馈全球新经济企业的发展状况及成长走势。《每日经济新闻》记者独家获得了指数编制方法要点,其中一些指标或许对投资者有一些参考意义,写出来以飨读者。 编制新经济指数的要点有这些 “富途新经济指数”系列由三个部分构成:A股指数、港股指数、美股指数。在三个市场中,纳入新经济产业中具代表性且基本面佳的上市....

【Java基础】Java Code Examples for org.jdesktop.swingx.table.TableColumnExt

https://www.programcreek.com/java-api-examples/index.php?api=org.jdesktop.swingx.table.TableColumnExt

【Futu】冻结资金是什么?由哪几部分组成? - 港股

冻结资金是什么?由哪几部分组成? - 港股 冻结资金是指在交易过程中,待成交买入挂单所冻结的资金和尚未结算的预扣融资利息。冻结的资金将占用一部分账户购买力。 冻结资金的组成部分 1.交易完成后产生的预扣费用 客户的单笔证券交易完成后,即会产生一定数额的交易费用(佣金、平台使用费、交易系统使用费、交收费、印花税、交易费、交易征费)。 该部分冻结资金会在美股下一个交易日结算后扣除,比如周五发生的美股交易费用会在下周一结算后从冻结金额中把该部分资金扣除。 注:由于盘中冻结的交易费用为预估费用,因此与实际费用会产生一定的差别,请以结单中的实际费用为准。 2.交易过程中产生的融资费用 客户若使用到融资,产生的融资融券利息会累计到冻结资金中。 融资融券利息会在每个月初从账户中扣除,届时该部分冻结资金将清零。 3.交易过程中的待成交订单金额 当客户在交易时,待成交的买入订单金额会计入冻结资金中。 如客户以200元的价格买入100股00700,在订单尚未成交的情况下,会产生20000元的冻结金额,在订单成交或撤销后,该部分冻结资金将清零。 4.新股认购预扣除的认购资金 当客户认购新股时,会产生新....

Spark登录错误Unable to verify certificate和Certificate hostname verification failed

错误1.Unable to verify certificate 错误2:Certificate hostname verification failed 解决方案: 点击“高级”-勾选"接受所有证书"和"禁用主机名证书验证"

通过putty将Linux服务器上的文件下载下来

原因 有时候想要将Linux服务器上的东西下载下来,于是在网上到处找教程,后来发现了一篇还不错的文章,正好我用的也是putty,就讲一下如何使用putty自带的pscp来完成下载吧。 使用工具 putty:因为我的Linux远程连接工具使用的就是putty,所以就不用再去安装putty了 Linux服务器:腾讯云 centos7,使用的是云服务器的话首先要记得配置安全组放通一些端口 过程 1、使用win+R键打开命令运行,然后输入cmd 2、使用cd命令进入你的putty安装路径 3、然后输入“pscp”然后回车 4、输入命令“pscp root@0.0.0.0/test.txt E://” 4.1、root指的是你要使用哪个用户登录你的服务器 4.2、0.0.0.0换成你自己的服务器的IP 4.3、text.txt换成你自己的文件在服务器上的路径, E://换成你自己想要保存在Windows上的路径 作者:Yznx_请叫我小哥 链接:https://www.jianshu.com/p/98f1aba9fd2e 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,....

即时通讯-openfire、smack、spark

基于openfire 服务和smack 搭建即时通讯项目 下面是我在本地搭建的open fire,非常简单。 点击下载open fire服务,和spark客户端,安装过程也非常的傻瓜,就不在这里说明了,如果遇到问题欢迎留言。 局域网内实现通讯,需要更改 host 文件 :C:\Windows\System32\drivers\etc\host, #localOpenfire(IP + 空格 + 域名)192.168.4.123 openfire.im.hexl。具体如何在spark中配置自行百度。 spark 配置参数 下面是Android端的demo,具体实现包括源码地址会在之后的博客中给出。 连接、注册、登录 开启连接 首先需要导入smack相关jar包,篇尾会给出,至于源码会在该系列的博客最后一篇给出来,如果有问题欢迎大家留言 打开连接相关API 1、XMPPTCPConnection 2、XMPPTCPConnectionConfiguration 在开启连接时用到的就是以上两个api,下面看下如何去创建,通过查看源码我们发现创建XMPPTCPConnect....

Springboot循环依赖解决办法

最近在使用Spingboot做项目的时候,在引入shiro后,启动项目一直报错 Error creating bean with name 'debtServiceImpl': Bean with name 'debtServiceImpl' has been injected into other beans [repayBillServiceImpl,investServiceImpl,receiveBillServiceImpl] in its raw version as part of a circular reference, but has eventually been wrapped. This means that said other beans do not use the final version of the bean. This is often the result of over-eager type matching - consider using 'getBeanNamesOfType' with the 'allowEagerInit' fl....