1. 波神规律的神奇的自然规律
自然界和人类社会中,充满了大大小小的规律。人类从混沌之中走来,最终成为世界的主宰,依靠的就是不断发现规律,掌握规律,利用规律。
中国古老的传统文化,为我们研究分析金融市场规律,奠定了雄厚的理论基础。
老子的《道德经》把“道”作为哲学的最高范畴提出,视它为世界万物的总根源,是万物运动变化的规律,认为任何事物,每个阶段的发展都由“道”驾驭、规范、控制着,从变化的角度来说,它就是万物发展的规律。
“道”用数字来表示其规律时,就是:道生一、一生二、二生三、三生万物,实际上它构成了一个完整的万事万物生化的过程。
巧合的是: 世界著名的数字大师斐波南希,在13世纪发现的一系列神奇数字系列,即1、2、3、5、8、13、21、34、55 ……直至无限。这套神奇数字正印证了中国老子“道生一、一生二、二生三、三生万物”数字理论。表面看来,上述数字系列很简单,其内部却隐藏着无穷的奥秘。
另外,中国的“易经”“阴阳学说”以及“五行学说”也从另一角度概括了事物的发展规律,我们如果将“五行学说”用几何图形表示,对于我们研究今天经济运行规律也是非常有意义的
1、(五行星图)图中最外围大五角的箭头代表相生,图中的第二层五角星的箭头代表相克的关系,按“五行学说”,这个相生、相克的关系构成了世界万物的本质。
2、第二层的五角星里边又包含一个同样的五角星,向里面无穷尽,当然向外也可以无穷尽,正是:其小无内,其大无外。
3、其实“天理循环”所启示世人的,正是黄金比率。从宇宙各大行星运行周期,可以看到以下的黄金比率关系:
(1) 水星周期约是地球周期的0.236。(2) 金星周期约是地球周期的0.618。
(3) 火星周期约是地球周期的2倍。
(4) 水星周期约为火星周期的0.382。
(5) 水星周期约为火星周期的八分之一。
(6) 木星周期是618星期。
(7) 火星周期的6.18倍约为木星周期。
(8) 土星周期的0.382倍接近木星周期。
(9) 土星周期接近天王星周期的0.382,更接近八分之一的平方根倍数。
(10) 天王星周期约为海王星周期的50%。
相当奇妙,上述的比率亦为金融市场常见的波动比率。由此可见,应用黄金比率在金融市场的走势上分析,是最接近大自然规律的一套分析方法,我们有理由相信,市场的规律亦由此而生。
人类生长在这个无数个大小规律的世界中,也时时刻刻的受到自然界各种规律的制约,包括人的劳作、休息、心理、情绪等。如人类的生理周期也如同大海潮涨潮落一样,较明显的一点,如:青年女性28天一循环的生理小潮。而由带有这多规律的个人组成的人类社会当然也是有规律的。
2. 如何通过雪球查询股票之前的变动状况
一. 雪球公司介绍
雪球 聪明的投资者都在这里。
web 1.0:新闻资讯,股价信息,K线图
web 2.0:SNS 订阅,分享,聊天
web 3.0:移动 APP,交易闭环
雪球现在员工数还不到100,其中技术人员占一半。去年9月C轮融资4kw刀。我们现在的技术栈由下列组件组成:Java,Scala,Akka,Finagle,Nodejs,Docker ,Hadoop。我们当前是租用IDC机房自建私有云,正在往“公私混合云”方向发展。
在雪球上,用户可以获取沪深港美2w+股票的新闻信息,股价变化情况,也可以获取债券,期货,基金,比特币,信托,理财,私募等等理财产品的各类信息,也可以关注雪球用户建立的百万组合,订阅它们的实时调仓信息,还可以关注雪球大V。雪球当前有百万日活跃用户,每天有4亿的API调用。App Store 财务免费榜第 18 名。历史上曾排到财务第二,总免费榜第 19。
二. 雪球当前总体架构
作为一个典型的移动互联网创业公司,雪球的总体架构也是非常典型的设计:
最上层是三个端:web端,android端和iOS端。流量比例大约为 2:4:4 。web3.0 的交易功能,在 web 端并不提供。
接入层以及下面的几个层,都在我们的自建机房内部。雪球当前只部署了一个机房,还属于单机房时代。正在进行“私有云+公有云混合部署”方案推进过程中。
我们当前使用 nodejs 作为 web 端模板引擎。nodejs 模块与android 和 ios 的 app 模块一起属于大前端团队负责。
再往下是位于 nginx 后面的 api 模块。跟 linkedin 的 leo 和微博的 v4 一样,雪球也有一个遗留的大一统系统,名字就叫 snowball 。最初,所有的逻辑都在 snowball 中实现的。后来慢慢的拆出去了很多 rpc 服务,再后来慢慢的拆出去了一些 http api 做成了独立业务,但即便如此,snowball 仍然是雪球系统中最大的一个部署单元。
在需要性能的地方,我们使用 netty 搭建了一些独立的接口,比如 quoto server,是用来提供开盘期间每秒一次的股价查询服务,单机 qps 5w+,这个一会再细说;而 IM 服务,起初设计里是用来提供聊天服务,而现在,它最大的用途是提供一个可靠的 push 通道,提供 5w/s 的消息下发容量,这个也一会再细说。
雪球的服务化拆分及治理采用 twitter 开源的 finagle rpc 框架,并在上面进行了一些二次开发和定制。定制的功能主要集中在 access log 增强,和 fail fast,fail over 策略及降级开关等。 finagle 的实现比较复杂,debug 和二次开发的门槛较高,团队内部对此也进行了一些讨论。
雪球的业务比较复杂,在服务层中,大致可以分为几类:第一类是web1.0,2.0 及基础服务,我们称为社区,包括用户,帖子,新闻,股价,搜索等等,类比对象就是新浪财经门户+微博;第二类是组合及推荐,主要提供股票投资策略的展示和建议,类比对象是美国的motif;第三类是通道,类似股市中的“支付宝”,接入多家券商,提供瞬间开户,一键下单等等各种方便操作的功能。
雪球的业务实现中,包含很多异步计算逻辑,比如搜索建索引,比如股票涨跌停发通知,比如组合收益计算等等,为此,我们设计了一个独立的 Thread/Task 模块,方便管理所有的后台计算任务。但随着这些 task 越来越多,逻辑差异越来越大,一个统一的模块并不是总是最佳的方案,所以,我们又把它拆成了两大类:流式的,和批量式的。
雪球的推荐体系包括组合推荐“买什么”和个性化推荐。我们最近正在重新梳理我们的大数据体系,这个感兴趣的话可以单聊。
最下面是基础设施层。雪球基础设施层包括:redis,mysql,mq,zk,hdfs,以及容器 docker。
线上服务之外,我们的开发及后台设施也很典型:gitlab开发,jenkins打包,zabbix 监控系统向 openfalcon 迁移,redimine向confluence迁移,jira,以及内部开发的 skiing 后台管理系统。
** 三. 雪球架构优化历程**
首先描述一下标题中的“股市动荡”定语修饰词吧:
上证指数从年初的3000点半年时间涨到了5000多,6月12号达到最高点5200点,然后就急转直下,最大单日跌幅 8.48%,一路跌回4000点以下。最近一周都在3900多徘徊。
3月最后一周,A股开户 166万户,超过历史最高纪录 2007年5月第二周165万户。
4月份,证监会宣布A股支持单用户开设多账户。
6月底,证金公司代表国家队入场救市。
7月份,证监会宣布严打场外配资。
中国好声音广告第一晚,带来超过平时峰值200倍的注册量
挑战:小 VS 大:
小:小公司的体量,团队小,机器规模小
大:堪比大公司的业务线数量,业务复杂度,瞬间峰值冲击
雪球的业务线 = 1个新浪财经 + 1 个微博 + 1 个 motif + 1 个大智慧/同花顺。由于基数小,API调用瞬间峰值大约为平时峰值的 30+ 倍。
挑战:快速增长,移动互联网 + 金融,风口,A股大盘剧烈波动。
首先,在app端,在我们核心业务从 web2.0 sns 向 3.0 移动交易闭环进化的过程中,我们开发了一个自己的 hybrid 框架:本地原生框架,加离线 h5 页面,以此来支撑我们的快速业务迭代。当前,雪球前端可以做到 2 周一个版本,且同时并行推进 3 个版本:一个在 app store 等待审核上线,一个在内测或公测,一个在开发。我们的前端架构师孟祥宇在今年的 wot 上有一个关于这方面的详细分享,有兴趣的可以稍后再深入了解。
雪球App实践—构建灵活、可靠的Hybrid框架 http://wot.51cto.com/2015mobile/ http://down.51cto.com/data/2080769
另外,为了保障服务的可用性,我们做了一系列的“端到端服务质量监控”。感兴趣的可以搜索我今年4月份在环信SM meetup上做的分享《移动时代端到端的稳定性保障》。其中在 app 端,我们采用了一种代价最小的数据传输方案:对用户的网络流量,电池等额外消耗几乎为0
每个请求里带上前一个请求的结果
succ or fail : 1 char
失败原因:0 - 1 char
请求接口编号: 1 char
请求耗时:2 - 3 char
其它:网络制式,etc
炒股的人大多都会盯盘:即在开盘期间,开着一个web页面或者app,实时的看股价的上下跳动。说到“实时”,美股港股当前都是流式的数据推送,但国内的A股,基本上都是每隔一段时间给出一份系统中所有股票现价的一个快照。这个时间间隔,理论上是3秒,实际上一般都在5秒左右。 交了钱签了合同,雪球作为合作方就可以从交易所下属的数据公司那里拿到数据了,然后提供给自己的用户使用。
刚才介绍总体架构图的时候有提到 quote server ,说到这是需要性能的地方。
业务场景是这样的,雪球上个人主页,开盘期间,每秒轮询一次当前用户关注的股票价格变动情况。在内部,所有的组合收益计算,每隔一段时间需要获取一下当前所有股票的实时价格。起初同时在线用户不多,这个接口就是一个部署在 snowball 中的普通接口,股价信息被实时写入 redis ,读取的时候就从 redis 中读。后来,A股大涨,snowball 抗不住了。于是我们就做了一个典型的优化:独立 server + 本地内存存储。开盘期间每次数据更新后,数据接收组件主动去更新 quote server 内存中的数据。 后续进一步优化方案是将这个接口以及相关的处理逻辑都迁移到公有云上去。
对于那些不盯盘的人,最实用的功能就是股价提醒了。在雪球上,你除了可以关注用户,还可以关注股票。如果你关注的某只股票涨了或跌了,我们都可以非常及时的通知你。雪球上热门股票拥有超过 50w 粉丝(招商银行,苏宁云商)粉丝可以设置:当这支股票涨幅或跌幅超过 x%(默认7%)时提醒我。曾经连续3天,每天超过1000股跌停,证监会开了一个会,于是接下来2天超过1000股涨停
原来做法:
股票涨(跌)x%,扫一遍粉丝列表,过滤出所有符合条件的粉丝,推送消息
新做法:
预先建立索引,开盘期间载入内存
1%:uid1,uid2
2%:uid3,uid4,uid5
3%:uid6
问题:有时候嫌太及时了:频繁跌停,打开跌停,再跌停,再打开。。。的时候
内部线上记录:
4台机器。
单条消息延时 99% 小于 30秒。
下一步优化目标:99% 小于 10 秒
IM 系统最初的设计目标是为雪球上的用户提供一个聊天的功能:
送达率第一
雪球IM:Netty + 自定义网络协议
Akka : 每个在线client一个actor
推模式:client 在线情况下使用推模式
多端同步:单账号多端可登录,并保持各种状态同步
移动互联网时代,除了微信qq以外的所有IM,都转型成了推送通道,核心指标变成了瞬间峰值性能。原有架构很多地方都不太合适了。
优化:
分配更多资源:推送账号actor池
精简业务逻辑:重复消息只存id,实时提醒内容不推历史设备,不更新非活跃设备的session列表等等
本地缓存:拉黑等无法精简的业务逻辑迁移到本地缓存
优化代码:异步加密存储,去除不合理的 akka 使用
akka这个解释一下:akka 有一个自己的 log adapter,内部使用一个 actor 来处理所有的 log event stream 。当瞬间峰值到来的时候,这个 event stream 一下子就堵了上百万条 log ,导致 gc 颠簸非常严重。最后的解决办法是,绕过 akka 的 log adapter,直接使用 logback 的 appender
线上记录:5w/s (主动限速)的推送持续 3 分钟,p99 性能指标无明显变化
7月10号我们在中国好声音上做了3期广告。在广告播出之前,我们针对广告可能带来的对系统的冲击进行了压力测试,主要是新用户注册模块,当时预估广告播出期间2小时新注册100万
压测发现 DB 成为瓶颈:
昵称检测 cache miss > 40%
昵称禁用词 where like 模糊查询
手机号是否注册 cache miss > 80%
注册新用户:5 insert
优化:
redis store:昵称,手机号
本地存储:昵称禁用词
业务流程优化:DB insert 操作同步改异步
下一步优化计划:
将 sns 系统中所有的上行操作都改成类似的异步模式
接口调用时中只更新缓存,而且主动设置5分钟过期,然后写一个消息到 mq 队列,队列处理程序拿到消息再做其它耗时操作。
为了支持失败重试,需要将主要的资源操作步骤都做成幂等。
前置模块HA:
合作方合规要求:业务单元部署到合作方内网,用户的敏感数据不允许离开进程内存
业务本身要求:业务单元本身为有状态服务,业务单元高可用
解决方案:
使用 Hazelcast In-Memory Data Grid 的 replication map 在多个 jvm 实例之间做数据同步。
java 启动参数加上 -XX:+DisableAttachMechanism -XX:-UsePerfData,禁止 jstack,jmap 等等 jdk 工具连接
关于前置模块,其实还有很多很奇葩的故事,鉴于时间关系,这里就不展开讲了。以后有机会可以当笑话给大家讲。
组合净值计算性能优化:
一支股票可能在超过20万个组合里(南车北车中车,暴风科技)
离线计算,存储计算后的结果
股价3秒变一次,涉及到这支股票的所有组合理论上也需要每 3 秒重新计算一次
大家可能会问,为什么不用户请求时,实时计算呢?这是因为“组合净值”中还包括分红送配,分股,送股,拆股,合股,现金,红利等等,业务太过复杂,开发初期经常需要调整计算逻辑,所以就设计成后台离线计算模式了。当前正在改造,将分红送配逻辑做成离线计算,股价组成的净值实时计算。接口请求是,将实时计算部分和离线计算部分合并成最终结果。
实际上,我们的计算逻辑是比较低效的:循环遍历所有的组合,对每个组合,获取所有的价值数据,然后计算。完成一遍循环后,立即开始下一轮循环。
优化:
分级:活跃用户的活跃组合,其它组合。
批量:拉取当前所有股票的现价到 JVM 内存里,这一轮的所有组合计算都用这一份股价快照。
关于这个话题的更详细内容,感兴趣的可以参考雪球组合业务总监张岩枫在今年的 arch summit 深圳大会上的分享:构建高可用的雪球投资组合系统技术实践 http://sz2015.archsummit.com/speakers/201825
最后,我们还做了一些通用的架构和性能优化,包括jdk升级到8,开发了一个基于 zookeeper 的 config center 和开关降级系统
四. 聊聊关于架构优化的一些总结和感想
在各种场合经常听说的架构优化,一般都是优化某一个具体的业务模块,将性能优化到极致。而在雪球,我们做的架构优化更多的是从问题出发,解决实际问题,解决到可以接受的程度即可。可能大家看起来会觉得很凌乱,而且每个事情单独拎出来好像都不是什么大事。
我们在对一个大服务做架构优化时,一般是往深入的本质进行挖掘;当我们面对一堆架构各异的小服务时,“架构优化”的含义其实是有一些不一样的。大部分时候,我们并不需要(也没有办法)深入到小服务的最底层进行优化,而是去掉或者优化原来明显不合理的地方就可以了。
在快速迭代的创业公司,我们可能不会针对某一个服务做很完善的架构设计和代码实现,当出现各种问题时,也不会去追求极致的优化,而是以解决瓶颈问题为先。
即使我们经历过一回将 snowball 拆分服务化的过程,但当我们重新上一个新的业务时,我们依然选择将它做成一个大一统的服务。只是这一次,我们会提前定义好每个模块的 service 接口,为以后可能的服务化铺好路。
在创业公司里,重写是不能接受的;大的重构,从时间和人力投入上看,一般也是无法承担的。而“裱糊匠”式做法,哪里有性能问题就加机器,加缓存,加数据库,有可用性问题就加重试,加log,出故障就加流程,加测试,这也不是雪球团队工作方式。我们一般都采用最小改动的方式,即,准确定义问题,定位问题根源,找到问题本质,制定最佳方案,以最小的改动代价,将问题解决到可接受的范围内。
我们现在正在所有的地方强推3个数据指标:qps,p99,error rate。每个技术人员对自己负责的服务,一定要有最基本的数据指标意识。数字,是发现问题,定位根源,找到本质的最重要的依赖条件。没有之一。
我们的原则:保持技术栈的一致性和简单性,有节制的尝试新技术,保持所有线上服务依赖的技术可控,简单来说,能 hold 住。
能用cache的地方绝不用db,能异步的地方,绝不同步。俗称的:吃一堑,长一智。
特事特办:业务在发展,需求在变化,实现方式也需要跟着变化。简单的来说:遗留系统的优化,最佳方案就是砍需求,呵呵。
3. 波神规律的此公式有两大作用
1、○―⑦构成一个较完整的循环波段
在这个完整的循环波段过程中,行情运行到②、③、⑤的时间目标位,都会做波段性的回调或反弹,其中目标③的回调或反弹概率一般占85%以上,其次是②和⑤的目标位,我们可以抓住这种运行规律,轻松而有节奏地达到真正意义上的“低吸高抛”。
2、此计算公式还可以用于计算价格之窗即行情高低点转折的时间。以及回调和反弹的幅度。
“波神规律”的应用从小的方面讲,可使股票、期货、外汇等各种市场的参与者明确预知市场发展趋势及“上涨波段的高点和下跌波段的低点”,做到真正意义上的“低吸高抛”,避免风险,增加收益。即使在股市的低迷时期,投资者还是可以在“波神规律”的指导下做波段操作,而不只是等待、观望,从而对激活市场,慢慢使市场走出低迷形成良性循环。
从大的方面讲,通过“波神规律”很好地把握金融市场的运行趋势和每个波段的高点、低点,从而可辅助金融机构在国际金融市场的投资,避免重大方向性失误。
例如,成熟的资本国家英国,政府在市场最低时间时抛出400吨黄金的悲剧事例,如右图(图中黑线区域1999年7月-2002年3月)。
因此正确使用“波神规律”可以直接避免股票、期货、外汇等各种金融投资风险,增加投资收益,为投资者创造较好的收益。
4. 重生1990之官运亨通的小说目录
第一章 苏联的红旗还能打多久?
第二章 一份稿子引发的惨案
第三章 扮猪吃老虎
第四章 相逢不如偶遇
第五章 梦中试题知多少
第六章 中考吊瓶作战计划
第七章 恰同学年少
第八章 勇敢说我爱你
第九章 女孩碰见蛇
第十章 动情一吻
第十一章 站在历史的高度
第十二章 女孩的心思你别猜
第十三章 市直机关围棋赛
第十四章 乘胜前进
第十五章 小萝莉的感谢
第十六章 决定冠军的关键一战
第十七章 强弩之末
第十八章 奇迹,大翻盘术
第十九章 心动
第二十章 张岩与葛亮不得入
第二十一章 知大势者得天下
第二十二章 扶贫宴
第二十三章 拜师
第二十四章 小试牛刀
第二十五章 笑看风云变换
第二十六章 铁汉的选择 上不上?
第二十七章 政治风暴 求收藏推荐
第二十八章 红星厂的现状
第二十九章 赶鸭子上架
第三十章 筹划
第三十一章 红旗超市
第三十三章 生财有道
第三十四章 永远第一
第三十五章 重任压肩
第三十六章 错位造成的悲剧
第三十七章 硕鼠 求收藏推荐票
第三十八章 红梅厂的新生
第三十九章 真心感动
第四十章 在商言商
第四十一章 张岩的志向
第四十二章 父子谈心
第四十三章 目标正厅
第四十四章 一块语音卡就可以解决
第四十五章 金州来客 求收藏
第四十五章 期货异地交易系统
第四十六章 卖当牛连锁店
第四十七章 进步最快新人奖
第四十八章 入主红星厂
第四十九章 日本狗滚出去
第五十章 真英雄
第五十一章 没有钱万万不能
第五十二章 猛龙过江
第五十三章 初战告捷
5. 华信期货股份有限公司怎么样
简介: 本公司经中国证监会批准(期货经纪业务许可证号码:30590000),成立于1993年4月,是全国最早成立的大型期货公司之一。2008-01-16公司更名由"河南万达期货经纪有限公司"更名为"万达期货有限公司"。公司营业地址:河南郑州市郑东新区商务内环路27号未来国际三号楼三层,注册资本6600万元人民币,主营商品期货经纪业务和金融期货经纪业务。公司是国内三家期货交易所的全权会员,目前已经申请国内首家金融期货交易所——中国金融期货交易所首批交易结算会员资格。 2013年9月27日,公司名称由"万达期货有限公司"变更为"万达期货股份有限公司"。 2015年9月1日,公司名称由"万达期货股份有限公司"变更为"华信万达期货股份有限公司"。 2017年5月9日,华信万达期货股份有限公司更名为华信期货股份有限公司。
法定代表人:张岩
成立时间:1993-04-08
注册资本:183030.7304万人民币
工商注册号:410000100011597
企业类型:其他股份有限公司(非上市)
公司地址:郑州市郑东新区商务内环路27号楼1单元3层01号、2单元3层02号