问题标签 [quantitative-finance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
171 浏览

matlab - 在matlab中计算利率树

我想使用 matlab 中的优化工具来校准利率树。需要一些指导。

利率树如下所示:

在此处输入图像描述

这个怎么运作:

3.73% = 2.5%*exp(2*0.2)

96.40453 = (0.5*100 + 0.5*100)/(1+3.73%)

94.15801 = (0.5*96.40453+ 0.5*97.56098)/(1+2.50%)

2.5%的值是任意的,上层节点乘以2*volatility的指数(这里是20%)。

我需要通过改变较低节点的不同值来优化问题。

如何在 Matlab 中进行这种优化?

到目前为止我尝试了什么?

但我不确定如何进行优化。任何改进代码的建议,请告诉我..需要一些指导..

0 投票
2 回答
1763 浏览

python - 如何在 Pandas 中存储多个相关的时间序列

我是 Pandas 的新手,想从专业人士那里得到一些见解。我需要对超过 30 个时间序列的金融证券的每日开盘价、最高价、最低价、收盘价执行各种统计分析(多元回归、相关性等)。每个系列都有 500-1500 天的数据。由于每个分析都针对多种证券,我想知道从易用性和效率的角度来看,是否最好将每个时间序列存储在一个单独的 df 中,每个都以日期作为索引,或者将它们全部合并到一个 df 中单个日期索引,实际上是 3d df。如果是后者,关于如何构建它的任何建议?

任何想法都非常感谢。

PS。我正在努力处理跨多个时区的日内数据,但这对于我的第一个 pandas 项目来说有点多;这是朝这个方向迈出的第一步。

0 投票
2 回答
2392 浏览

javascript - Javascript - 找到平均价格(即四舍五入)的准确方法是什么?

我有 24 个价格,一天中每个小时一个价格,我需要找到它们的平均值(每日平均值)。

但是,我无法正确地平均价格,也找不到关于如何在 Javascript 中平均价格/四舍五入的准确算法。每种方法(parseFloat、toFixed())似乎偶尔会产生不准确的结果。

有谁知道 Javascript 中平均价格/四舍五入的准确方法?而且我不只是在谈论仅适用于以下价格数组的东西,而是适用于任何价格数组(小数)的有效且防弹的东西......

这是我现在所拥有的。它在 Chrome 中返回 178.00。但它应该返回 178.01。

0 投票
1 回答
8606 浏览

csv - 从 Yahoo Finance 下载 CSV 格式的报价 - Beta 符号?

通过使用http://finance.yahoo.com/d/quotes.csv?s=STOCKNAME&f=我可以下载 CSV 文件,有人知道 beta 的符号是什么吗?它应该在&f=例如股票名称的符号之后n,它是这样的:http://finance.yahoo.com/d/quotes.csv?s=STOCKNAME&f=n

在此先感谢您的帮助!

0 投票
1 回答
103 浏览

r - Loading Data in R with zoo

I've figured out how to load historical financial data from Google using the following code:

This works fine, but I'd like to accomplish this using the read.zoo() function, but I keep getting errors about "bad rows". Here is what I had tried using read.zoo().

Do you guys have any ideas for a one-liner? Thanks!

0 投票
2 回答
2528 浏览

shell - /Users/DylanRichards/.profile:source:2:没有这样的文件或目录:QSTK/local.sh

我要再次打开这个。我安装了这个叫做 QSTK 的东西来进行一些财务计算。现在每次打开终端时,都会出现以下错误:

由于这个错误,我也无法在 Sublime Text 中运行程序。

我该怎么摆脱这个?

最新的

在尝试了 KEYSER 的建议后,以下是 .profile 文件的内容:

0 投票
1 回答
135 浏览

python - 我可以在分组数据帧上应用一个使用“shift”的函数,并从熊猫返回一个简单的数据帧吗?

我希望主题行相对清晰。我正在使用 python/pandas,并且正在处理股票的每日定价数据。我有一个包含 4000 多个符号数据的大型 csv 文件,其中包含大约 100 天的数据。所以有很多重复的日期和符号值,但符号/日期组合是唯一的。对于多个滞后(班次)日期,我正在尝试获取每个代码/日期组合的百分比变化。在一个符号的数据集上,这很简单

这是初始数据的示例:

我想要得到的输出是:

我是 pandas 的新手,我一直在网上搜索类似的示例或更一般的处理方法,将矢量化函数应用于 pandas 中的组。我运气不太好;我尝试了更传统的方法,循环遍历一个独特的代码列表,单独计算性能百分比,将它们组合成一个数据框,然后将其附加到一个“主”数据框。它有效,但需要 20 多分钟(而且非常笨拙)。我确信有更好的方法。但我还不知道如何询问具体的功能细节。

任何人都可以帮忙吗?谢谢...

0 投票
0 回答
4096 浏览

r - 带约束的 R 中的长/短投资组合优化

我想解决一个相当常见(且简单)的优化问题,尽管似乎没有关于此的帖子:多头/空头市场中性最小方差优化。“R伪代码”中的优化形式:

这个问题中其他问题中缺少的关键是“书本大小”约束。在长/短优化中,您需要此约束,否则您会得到无意义的结果。这是一个二次优化问题,但是由于约束中的“abs”,我们有非线性约束。有一个众所周知的(我想在某些圈子里)技巧可以将“abs”约束从非线性约束转换为线性约束。我们通过在方程中引入辅助变量来做到这一点(参见lp_solve 参考指南中的解释:绝对值)。

在给定多因素风险模型输入的情况下,我编写了这个函数来计算最小投资组合方差权重:

我用以下单元测试调用它(欺骗多因素模型输入):

这会引发以下错误:

因此,我的问题是,如何在 R 中的solve.QP 中实现长/短优化中的abs 约束?

作为进一步说明,论文Portfolio Optimization with Transaction Costs展示了如何在 Matlab 中执行此操作,但这似乎不适用于 R 中的solve.QP。

0 投票
0 回答
3045 浏览

r - How to adjust intraday bar prices for split, dividends etc. in rbbg?

Is there a friendly and knowledgeable person out there with experience in the R "Rbbg" library (wrapper for connecting Bloomberg's API to R)? I have create code all the library's functions (bdh, bdp and bds) and moved to the "bar" function which is used to extract intraday bar prices on securities.

Everything went well until pulled 5-minutes bar data on Apple since 2014-01-01 (see code example below). The function extracts the unadjusted prices which make them useless as Apple introduced a 7:1 split not long ago.

library(Rbbg)

conn <- blpConnect()

prices <- bar(conn, "AAPL US Equity", "TRADE", "2014-01-01 09:30:00.000", "2014-06-24 16:00:00.000", "5")

print(conn$BOOLEAN_OPTION_NAMES)

According to the Rbbg manual PDF (p. 15) it is possible to use Option Settings to make changes to the output. The last line in the code example gives you a string named "adjustmentFollowDPDF" which should be set with a following boolean value. This option is possible within the "bdh" function for historical data with "DAILY" as the highest frequency.

The DPDF is a function in the Bloomberg Terminal to set your adjustment configuration. So the API should allow to import these settings in your data query.

I have tried all possible combinations to include the "adjustmentFollowDPDF" in the "bar" function without luck.

Is there anyone out there that experience in this field. Without adjusted prices the "bar" function is completely useless and wrong.

UPDATE: I just want to let everyone know that the issue is solved by the kind people that still maintains the "Rbgg" package.

0 投票
1 回答
447 浏览

sql - SAS - 模糊匹配毫秒时间戳“Just Before”或“Just After”给定时间戳

我正在处理 SAS 9.3 中的高频财务数据,时间戳(数字,format=time12.3)以毫秒为单位,例如:

之前的代码使用了一个PROC SQL我在各种论坛上看到过几次的结构,你在这个问题上

  1. 对(否则不必要的)ID 变量执行 FULL JOIN 并计算每个数据集上的时间戳之间的差异,然后
  2. 仅通过分组 ID 保留时间差 = MIN(时间差)的那些记录(否则这是必要的)。

这还包括任何一个约束

或者

按组 ID(数字、顺序)。问题是这很慢,数据很大(数百万条记录),我们需要对大约 12 个不同的时间戳执行此操作。

如果有人能指导我以更快的方式做到这一点,我将不胜感激!

示例数据(用于连接A=BA < B最接近的连接:

... 等等 ...