vanilla

如何交易和定价LPR利率期权之三——重新审视利率互换

怎甘沉沦 提交于 2020-07-28 08:48:51
As with so many things, it was simply a matter of time. The Time Trapper, Zero Hour – End of an Era, LSH 61, 1994, DC Comics Brigo&Mercurio的书上引用的一句话,说出了固定收益类证券和衍生品大厦的根基——就是时间。一切理论的基础都是以货币具有时间价值且不同时间价值不同为前提的。人们之所以会去交易债券,交易收益率曲线,交易各种各样的利率衍生品,都是基于对于货币的不信任和对时间的尊重。 在发达国家利率市场,时间价值体现在所有交易的一切细节里,但是在国内却有些双标——比如在对LPR利率互换的估值上。 中国市场真正vanilla的互换只有一个,就是shibor3m IRS。shibor3m的tenor是3m,而互换重置之后,也正是在3m之后支付,支付日和存一个shibor3m的到期日完全一致,我们可以管这个叫做一个 自然时滞 (natural time lags)。对于市场上交易最活跃的repo IRS来讲,则稍稍不那么“自然”些——支付频率仍然是季度支付,但是重置间隔却和repo的tenor一致,即weekly reset. 当你存一笔repo 7d 到期时,你却没收到本应该收到的钱,由于货币具有时间价值,自然要考虑复利

Transformer-XL论文导读-RNN+Transformer,NLP里最流行的都在这里辣

谁说胖子不能爱 提交于 2020-07-23 19:17:49
本文同步发布于公众号 阿黎投喂社:一只沉迷吃喝渴望变强的代码仔,关注阿黎看阿黎是怎么变强(秃)的吧~ 论文链接: https:// arxiv.org/pdf/1901.0286 0.pdf 导语 NLP领域中为了捕捉单词之间的依赖关系,比较常用的结构是RNN和Transformer,但是他们都受限于固定长度的上下文依赖,当信息量超过特定长度,模型的能力非常有限。为了解决这个问题,文中收到Vanilla Transformer的启发,引入segment机制,结合RNN和Transformer的特点,将循环机制引入Transformer,提高了Transformer捕获信息的能力,并且在多个公开数据集上超过了SOTA的效果。那么我们来看一下作者是如何改进的吧~ 背景 在NLP领域中,Language Model需要捕捉到单词之间的依赖关系,比较常见的结构是RNN,但是由于 梯度爆炸和梯度消失 的原因RNN比较难训练。LSTM在RNN的基础上加了遗忘门,使得隐藏状态由联乘变成了累加状态,解决了梯度爆炸和梯度消失的问题。但是由于遗忘门的限制 LSTM对上下文的记忆能力有限 ,部分研究表示LSTM对上下文的记忆仅限于200个词语。 2017年Google提出Transformer架构,Transformer架构摒弃了RNN,引入Position Embedding和self

Rails Guide--Working with JavaScript in Rails; 如何把jquery转化为原生js

痞子三分冷 提交于 2020-05-05 01:08:18
1 An Introduction to Ajax 打开网页的的过程也叫:request response cycel。 JavaScript也可以request然后parse the response,还可以更新网页上的信息。 因此JS可以部分更新网页。这个技术称为Ajax. Rails默认使用CoffeeScript。包括应用JS.例子: $.ajax(url: "/test").done (html) -> $("#results").append html 这段代表从url上取数据,然后附加到一个id为results的div后面。 Rails 提供了内建支持来使用这个技术开发网页。无需你自己写这样的代码。有helper方法。 基本原理就是这样。 2 Unobtrusive JavaScript 不冒失的JS Rails使用这个技术来把JS附加到DOM上去。unobtrusive意味着不把JS代表混入到HTML。 而是用data-*属性来传递参数给behavior。 3 Built-in Helpers 3.1 Remote elements Rails提供了一组视图帮助方法,是用Ruby写的,用于帮你生成HTML元素。有时,你要增加Ajax到那些元素中。 因为Unobtrusive JS, the Rails "Ajax helper"其实一半是Ruby一半是JS。

机器学习/梯度下降算法

扶醉桌前 提交于 2020-03-29 12:34:31
当在现实生活中的遇到问题时,我们总是希望找到最佳的解决方案。制造软件产品也是一样的道理,最优化的程序才是最理想的产品。 最优化意味着获得最佳输出。它既是一个数学的重要分支,也在现实生活中有着重要的作用。现代的计算机科学和人工智能科学把最优化作为一个重要的领域来研究。我们也认为人工智能的一些算法,就是模拟了人类寻求实际问题最优解的过程。例如,利用人工智能算法设计软件,配合外部的电子设备例如摄像头识别人脸;利用数据挖掘和神经网络算法来寻找投资的最佳时机等等,都是利用了最优化的原理。 机器学习中的最优化和其他学科的应用比起来有轻微的差异。一般来说,在优化的同时,我们确切地知道数据的外观以及我们想要改进的地方。 但是在机器学习中,我们不知道“新数据”是怎么样的,更别提对其进行优化了。为了解决这个问题,在机器学习中,我们对训练数据(training data)执行优化,并检查由此新创造出的验证数据(validation data)。 最优化的广泛应用 机械学:设计航空航天产品的表面; 经济学:成本最小化; 物理学:量子计算中的优化时间; 决定最佳运输路线,货架空间优化等等。 许多流行的机器算法都依赖于线性回归,k最近邻,神经网络等技术。优化的应用是无限的,因此它成为了学术界和工业界广泛研究的课题。在本文中,我们将介绍一种称为梯度下降(Gradient Descent)的优化技术。

Rails迁移更改列

百般思念 提交于 2020-03-17 22:00:31
某厂面试归来,发现自己落伍了!>>> 我们有 script/generate migration add_fieldname_to_tablename fieldname:datatype 语法,用于向模型添加新列。 在同一行,我们是否有用于更改列的数据类型的脚本/生成? 或者我应该直接在我的vanilla迁移中编写SQL吗? 我想将 datetime date 列更改为 date 。 #1楼 我不知道您是否可以从命令行创建迁移来完成所有这些操作,但您可以创建新的迁移,然后编辑迁移以执行此操作。 如果tablename是表的名称,fieldname是字段的名称,并且您希望从日期时间更改为日期,则可以编写迁移来执行此操作。 您可以使用以下命令创建新迁移: rails g migration change_data_type_for_fieldname 然后编辑迁移以使用change_table: class ChangeDataTypeForFieldname < ActiveRecord::Migration def self.up change_table :tablename do |t| t.change :fieldname, :date end end def self.down change_table :tablename do |t| t.change

Transformer翻译模型Decoder详解(Masking)

戏子无情 提交于 2020-02-11 19:39:03
写这个博客的原因在于:大部分解释Transformer的文章都只注重讲解Encoder部分,在Encoder中又侧重讲解self-attention原理。为了读者更好地理解整个Transformer的训练过程,我决定结合代码写一篇在理解了Encoder部分怎么理解Decoder模块的博文。 参考文章:https://jalammar.github.io/illustrated-transformer/ 参考代码:https://github.com/Kyubyong/transformer pre: Encoder 根据以上参考文章及代码理解Encoder的self-attention原理非常容易,这里不再赘述。需要说明的是以下维度: 德文输入X.shape:[batch_size, max_len] 英文标注Y.shape:[batch_size, max_len] Encoder输出维度 [batch_size, max_len, hidden_units] 也就是 代码 里的[N, T_q, C] Decoder 在训练过程中,Transformer同所有seq2seq模型一样,会用到source data以及不断生成的target data的部分数据(理解就是RNN的因果关系,训练过程中不像BiRNN一样使用未来数据,因此需要Masking)。 需要说明的是 代码 中的

@。Tensorflow,纯新手入门笔记->优化器

夙愿已清 提交于 2020-01-16 21:38:34
第九节:Tensorflow优化器 高中数学学过,函数在一阶导数为零的地方达到其最大值和最小值。梯度下降算法基于相同的原理,即调整系数(权重和偏置)使损失函数的梯度下降。 (就是使用优化器,调整权重W,偏置B,使得损失函数到达一个损失最少的点) 有三种梯度下降: 1.Vanilla 梯度下降 :在 Vanilla 梯度下降(也称作批梯度下降)中,在每个循环中计算整个训练集的损失函数的梯度。该方法可能很慢并且难以处理非常大的数据集。该方法能保证收敛到凸损失函数的全局最小值,但对于非凸损失函数可能会稳定在局部极小值处。 **2.随机梯度下降:**在随机梯度下降中,一次提供一个训练样本用于更新权重和偏置,从而使损失函数的梯度减小,然后再转向下一个训练样本。整个过程重复了若干个循环。由于每次更新一次,所以它比 Vanilla 快,但由于频繁更新,所以损失函数值的方差会比较大。 3.小批量梯度下降 :该方法结合了前两者的优点,利用一批训练样本来更新参数。 亮点: 1.Vanilla 梯度下降:很慢,难以处理非常大的数据集。能保证收敛到凸损失函数的全局最小值,但对于非凸损失函数可能会稳定在局部极小值处。 2.随机梯度下降:比第一个快,但是由于频繁更新,所以损失函数值得方差会比较大。 3.批量梯度下降,快!准!狠 优化器的使用: 第一个优化器: GradientDescentOptimizer

Is PHP or vanilla Perl CGI faster?

匿名 (未验证) 提交于 2019-12-03 08:56:10
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 由 翻译 强力驱动 问题: I'm developing a web app for an Apache shared hosting server. I have already written some code in Perl but I recently found out, to my surprise, the shared hosting provider does not provided mod_perl or a way to install it. I have been a bit worried that running a Perl web app through CGI without mod_perl would make it very slow? Should I switch all of my code to PHP instead, would that be faster? The reason I chose Perl in the first place is, I'm very familiar with Perl more than PHP. Also I wanted to be able to use my Perl

Vanilla Javascript .fadein() .fadeOut() without JQuery [closed]

匿名 (未验证) 提交于 2019-12-03 03:10:03
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I am developing for IE10+ so i decided not to use JQuery. I write custom javascript function to Select, Fadein, FadeOut etc and it is working fine. but i like to use the Function in JQuery Style (Object.fadeIn(), Object.FadeOut() etc). Instead of JQuery Selector i use this. function _(el){ return document.getElementById(el); } When i need to select a Dom object i use this. var myButton = _("button"); When i need to fadeIn Or fadeOut any object i use this. function fade(type, ms, el) { var isIn = type === 'in', opacity = isIn ? 0 : 1,

Turn jQuery into vanilla JS - Insert p element after h1

匿名 (未验证) 提交于 2019-12-03 01:22:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 由 翻译 强力驱动 问题: Any ideas on how I would convert this jQuery to vanilla JS: $ ( '.section > h1' ). after ( '<p>This paragraph was inserted with jQuery</p>' ); I am new to jQuery and even newer to vanilla JS. This is as far as I got: var newP = document . createElement ( 'p' ); var pTxt = document . createTextNode ( 'This paragraph was inserted with JavaScript' ); var header = document . getElementsByTagName ( 'h1' ); Not sure where to go from here? 回答1: jQuery does a lot for you behind the scenes. The equivalent plain DOM code might look something