TCP-Jersey拥塞控制介绍
介绍
TCP-Jersey拥塞控制算法在中文世界里的描述非常的少,有点好奇信号和丢包共同控制的算法是怎样的,就翻译了这篇论文,链接在最后。
传统TCP拥塞控制
传统TCP的拥塞控制算法是使用拥塞控制窗口来实现的,TCP发送端在发送时除了要兼容接收端的接收窗口,自己这边的发送窗口,还需要考虑拥塞控制窗口。在发送时,取min(w_{r}, w_{s}, w_c)
,其中w_r
是接收窗口,w_s
是发送窗口,w_c
是拥塞窗口。
发生丢包事件时,拥塞控制窗口的长度会缩小到一半,然后线性增加逐步增加,即加性增,乘性减(AIMD)[……]
Unix编程艺术 读书笔记
1 哲学
- 性能—时间的指数曲线对软件开发过程所引发的结果,就是每过18个月,就有一半的知识会过时。Unix并不承诺让你免遭此劫,只是让你的知识投资更趋稳定
- 策略相对短寿,而机制才会长存
- 对于程序员和开发人员来说,如果完成某项任务所需要付出的努力对他们是个挑战却又恰好还在力所能及的范围内,他们就会觉得很有乐趣。
- 那些毫无动力、松松垮垮而且薪水微薄的程序员们,能在短短期限内,如同神灵附体般造出稳定而新颖的软件——这只不过是经理人永远的梦呓罢了。
- 让每个程序就做好一件事。如果有新任务,就重新开始,不要往原程序中加入新功[……]
量化炼金术:中低频量化交易策略研发
回测
真实的回测非常重要
推进分析
看着很像机器学习的交叉验证,但是实际上不是。
这个是相当于把分析拆分成多段,类似于用1~ 60跟K线决定第61根k线上操作的一些系数,根据2~ 61根K线决定第62根K线上操作的系数。
例如按照市值持仓,那每一个周期,就要更新持仓股票占比。
择时策略
- 双均线趋势策略,短线均线>长线均线,看多,否则看空
- 双均线反转策略,短线>长线看空,否则看多
- 自回归:通过线性回归
- 推进分析双线趋势策略
- 推进分析双线反转策略
- 推进分析混合策略
择股策略
- 市值
- 上个月收益反转因子[……]
量化交易中回测极其重要
回测
做了一个高频量化策略,回测数据平均一天翻三倍,昨天用钱测试发现实际一天亏损50%。
不明白差异为何如此大,在我的直觉里,理论和实际的差距应该非常小,尤其是当用钱测试完了之后,我用同样的策略,在这一段时间里回测结果相差依然很大。
找了一圈发现原来我在模拟中直接在最新的K线用了真实历史的收盘价,于是我把最新的模拟k线收盘价改成模拟价格,回测收益率立刻和真实收益率相同。
我用的1分钟k线数据,就这么一个1分钟不到的未来信息,可以让收益从-50%变成300%,真的非常夸张。
等待和价格尺[……]
Python高性能编程 读书笔记
主题
在当python的函数越短,通常意味着性能越高!
这不是笑话,在不改变算法的情况下,同一个功能是一定存在一个最短指令集的,当python代码变短意味着指令码变少,那多的指令码就在底层以CPU指令码的形式转移了。
这叫做同算法指令集数量守恒。 ——本人
第二章 通过性能分析找到瓶颈
python可用的分析工具:
- cProfile:自带的运行分析工具,可以计算函数的执行次数和时间;
- runsnakerun: 可视化cProfile的内容;
- link_profile: 分析的更加细致[……]
关于vim的搜索功能
几个tag
调查了好一阵子,总算弄清楚了几个东西的差别,简单记一下,几个tag:
- ctags,vim用的
- etags,emacs用的
- cscope,生成的索引相比上面两个索引,信息会多一些,并且包含了一个搜索的指令,可以搜索函数在哪里被调用,以及可以做全局搜索,但是仅限于C/C++
- gtags,和cscope差不多,提供了gtags生成索引,和gtags-cscope搜索索引。
gtags
:: GTAGS:所有变量,函数定义的相关信息
:: GRTAGS:所有变量,函数被引用的相关信息
:: GPA[……]
一本书读懂TCP/IP 读书笔记
TCP/IP是什么
互联网包含因特网,因特网包含万维网。
物理层
物理层解决最基础的传送通道,涉及问题主要是建立、维护和释放物理链路所需的机械的、电气的/光学的、功能的和规程的特性
数据链路层
在相邻的网络节点之间提供简单的、传输以帧为单位的数据,同时它还负责数据链路的流量控制、差错控制。大家要理解,这条链路不具备任何路径选择和转发功能,你可以把它仅仅理解为“一条封闭的路”,除了两端,没有额外出入口。
本层要提供一定的差错检验和纠正机制。以太网就属于这一层。所以你会经常听到“以太[……]