分类
外汇基础知识

隔夜利息(Swap)是什么?

05-05 1596

什么是原子交换(Atomic Swap)?

缺陷二:在考虑外部市场后,会存在对手风险,原子交换是不适用的。如在上面的协议描述里,Alice 和 Bob 已经将 tx1 和 tx2 上链。则这之后,原子交换的成功与否取决于 Alice 是否要抛出 hash(a) 的原像,她有 24h 的考虑时间去决定。那在这 24 小时内,Alice 大可在对比交易所和原子交换的比率差别,如果交易所的汇率对自己有利,那就去交易所交易,抛弃原子交换。在这种情况下,Alice 除了会锁定 48h 的币,没有其他风险,风险全部转嫁给了 Bob。
那么有人说,缩短 24h 和 48h 的参数设定就好了啊。但无论怎么缩短,这个风险都不能消除。且缩短锁定时间还可能带来安全风险。

缺陷三:除此之外,还有一种攻击。在 tx1 和 tx2 上链后,Bob 完全封锁 Alice 的网络(由于存在点对点通信,会增加这种风险)。Alice 发出的 tx22 无法广播到网络里,但 Bob 可以截取到。Bob 因此可以得到 Hash(a) 的原像,从而上链 tx12(满足 tx1 的解锁条件2)拿到 1BTC。之后,Bob 再封锁 Alice 隔夜利息(Swap)是什么? 的网络 24 小时,他就又可以上链 tx21(满足 tx2 的解锁条件1)拿到 3ETH。
那有人说,只要 Alice 迟迟发现自己发出的 tx22 不上链,那就去找个网吧重新发交易啊。Bob 总不能连人去哪都可以追踪吧。这确实是最简单的抵御方法。但也说明,原子交换需要人类来监控,在完全程序自动化的条件下完成仍存在风险。

Linux下swap到底有没有必要使用

迷途大灰狼 于 2020-06-12 10:57:07 发布 4532 收藏 5

什么是swap

swap是磁盘上的一个区域,可以是一个分区,也可以是一个文件,或者是它们的组合,简单点说,当系统物理内存不够时,Linux会将内存中不常访问的数据保存到swap上,这样系统就有更多的物理内存为各个进程服务,而当系统需要访问swap上存储的内容时,再将swap上的数据加载到内存中,这就是我们常说的swap out和swap in。

swap的主要功能

其实上面基本已经将swap的主要功能说了,这里再来重述一下:
(1)、当物理内存不足的时候,将某些在内存中所占用的程序暂时移动到swap当中,让物理内存可以被需要的程序来使用;
(2)、Linux会将内存中不常访问的数据保存到swap中,当系统需要再次调用的时候,就把它从swap加载到内存;
(3)、如果你的主机支持电源管理模式,也就是说,你的Linux主机系统可以进入"休眠"模式的话,那么,运行当中的程序状态则会被记录到swap中去,以作为"唤醒"主机状态的依据;
(4)、在某些程序运行时,本来就会利用swap特性来存放一些数据,比如在装Oracle11g的时候会检查swap size;

swap给我们带来什么好处

有的小伙伴看到这里可能在想,哇,我还用它干啥,我直接把我内存加够不就行了。骚年莫急,我将慢慢道来。
来看看下面这些情况:
(1)、有些应用程序在启动的时候会需要大量内存,但是在启动完成后需要的内存很小,这时候swap就很是时候了,假如全部用物理内存,其实就有点浪费资源了,谁的钱不是钱呢?你说是吧。
(2)、现在很多小伙伴开发都用Ubuntu,Ubuntu有休眠的功能,如果需要用到休眠的话,也是需要swap的,它会把休眠之前内存中的数据保存到swap中,你下次用的时候,就直接从swap加载到内存中,省的麻烦。
(3)、有些小公司讲究节约成本,甚至有的把这个当成kpi了,所以就不能把内存搞得蛮大了,我们就需要在保证系统正常运行所需内存的情况下,配备swap,既可以保证业务运行,也可以防患于未然。
(4)、现在大部分物理内存都够用了,很多公司也完全放弃了swap。但是谁也不知道下一秒会发生什么问题,比如内存泄漏,比如某个进程需要内存超过预期,这时候如果只有物理内存,可能就会直接OOM了,等不到我们收到报警,进行处理。如果这时候有swap,我们收到物理内存不够报警的时候还会有swap顶一下,回滚或者加内存什么的也有足够的时间,避免手忙脚乱发生生产事故。

(Variance Swap)方差互换是什么?如何理解?

Variance Swap 简单一点讲,可以就把它看作为一个forward contract。假设你在desk,你的客户因为会担心未来(某一个标地的)vol上涨而带来风险,从而希望能和你做一笔trade来对冲掉vol的风险,这笔trade就是一笔variance swap,它的结算是在规定的到期日,以realized variance 和 variance strike 的之间差乘以notional作为最后的cash settlement。

所以Variance Swap最核心的问题就是: 该怎么去定variance strike?

理论上来说,fair variance strike 是应该等于 risk-neutral expected value of the return variance,所以当我们假设stock是diffusion process,利用Ito's lemma可以得到

最右边的第一个term看作一个dynamic dollar stock,而第二个term是可以用option来static 隔夜利息(Swap)是什么? replicate出来的,

quote from wiki:
"any twice continuously differentiable contract can be replicated using a bond, 隔夜利息(Swap)是什么? a future and infinitely many puts and calls"

两边取expectation, 去掉dS, 进一步我们得到了如下式子:

所以从上述公式来说,只要根据市场上所有call/put option的strike还有option price,我们就可以定价出fair variance strike。

实际上,通常variance strike的定价是会比risk neutral realized variance的期望值要高一些Peter Carr在

至于市场的option没有full range of strike (积分里面是从0到无穷大),bid ask spread大从而影响定价的问题,请自行阅读并独立完成作业 :)

理解CAS与__sync_bool_compare_and_swap(原子操作)

while_false_ 于 2019-04-09 11:17:隔夜利息(Swap)是什么? 26 发布 11058 收藏 14

CAS是compare and swap, 简单来说就是,在写入新值之前, 读出旧值, 当且仅当旧值与存储中的当前值一致时,才把新值写入存储。__sync_bool_compare_and_swap是可供程序员调用的接口, 为什么需要CAS呢? 一起来看下:
让10个线程执行加法操作, 看看最简单的版本:

运行了一下, 发现每次结果不一样, 并不是10000000, 原因很简单, 多线程没有同步。 结果也说明,++不是原子操作。
怎么办? 加锁, 这是无疑的, 如下:

多次运行发现, 结果总是10000000, 加锁了, 安全。
但是, 问题来了, 加锁效率如何, 多进程,多机器修改怎么办? 比如典型的银行卡扣款场景。 且看CAS机制:

结果是10000000, 可以好好理解下。 有兴趣的同学, 可以测测上述程序的效率。
对了, 最后一个程序的编译方法为:
g++ test.cpp -lpthread -march=nocona -mtune=generic

Tradestation Python API 用于TradeStation API的Python客户端库。 目录 概述 用于TradeStation的非官方Python API客户端库允许拥有TradeStation帐户的个人使用Python编程语言来管理交易,提取历史和实时数据,管理其帐户,创建和修改订单。 要了解有关TradeStation API的更多信息,请参阅。 API中有什么 身份验证-访问令牌,刷新令牌,请求身份验证。 账户交易 符号 指数 命令 纸业交易 引号 交易记录 要求 使用此API必须满足以下要求: 一个TradeStation帐户,您需要您的帐户密码和帐号才能使用该API。 TradeStation开发人员API密钥 重定向URI,有时也称为重定向URL Python 3.8或更高版本。 API密钥和凭证 每个TradeStation API请求都

05-05 1596