问题标签 [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 投票
4 回答
230 浏览

c++ - 现金流财务建模中的继承与特定类型

我必须对一些财务应用程序进行编程,我必须在其中表示一个流量表。流可以有 3 种类型:

  • 费用流(只是在某个日期一次性支付)
  • 浮动利率流量(流量取决于稍后确定的利率)
  • 固定利率流量(流量取决于交易完成时确定的利率)

我需要保留全部信息,并且需要表示这些流程的时间表。最初我想使用继承并创建三个类FeeFlow,它们FloatingFlowFixedFlow继承自ICashFlow并实现一些GetFlowType()返回枚举的方法,然后我可以dynamic_cast将对象转换为正确的类型。

那将允许我只有一个vector<IFlow>来代表我的日程安排。

您如何看待这种设计,我是否应该使用三个向量vector<FeeFlow>vector<FloatingFlow>vector<FixedFlow>避免动态转换?

0 投票
1 回答
5014 浏览

matlab - 如何在 MATLAB 中计算股票的历史波动率?

我想创建一些模拟的历史期权数据,并且需要根据历史股价计算历史波动率。是否有内置功能可以做到这一点?有什么公式吗?

0 投票
3 回答
11694 浏览

python - 如何加速嵌套循环?

我在下面包含的python中执行嵌套循环。这是搜索现有金融时间序列并在时间序列中查找与某些特征匹配的时段的基本方法。

在这种情况下,有两个独立的、大小相同的数组表示“收盘价”(即资产的价格)和“交易量”(即在此期间交换的资产数量)。对于每个时间段,我希望查看长度在 1 之间的所有未来间隔,INTERVAL_LENGTH并查看这些间隔中的任何一个是否具有与我的搜索匹配的特征(在这种情况下,收盘值的比率大于 1.0001 并且小于1.5 且总体积大于 100)。

我的理解是,使用 NumPy 时加速的主要原因之一是,只要您在整个数组上进行操作,解释器就不需要在每次评估某些内容时对操作数进行类型检查(例如numpy_array * 2) ,但显然下面的代码没有利用这一点。

有没有办法用某种可能导致加速的窗口函数替换内部循环,或者使用numpy/scipy以在本机 python 中大幅加速它的任何其他方式?

或者,一般来说有没有更好的方法来做到这一点(例如,用 C++ 编写这个循环并使用 weave 会快得多)?

0 投票
3 回答
1822 浏览

vb.net - .NET NPV() 使用什么函数?与人工计算不符

我在 VB.NET 中使用 NPV() 函数来获取一组现金流的 NPV。

但是,NPV() 的结果与我手动执行计算的结果不一致(Investopedia NPV calc 也不符合我的手动结果)

我正确的手动结果和 NPV() 结果很接近,在 5% 以内.. 但不一样...

手动,使用 NPV 公式: NPV = C0 + C1/(1+r)^1 + C2/(1+r)^2 + C3/(1+r)^3 + .... + Cn/(1 +r)^n

手动结果存储在 RunningTotal 中,速率 r = 0.04,周期 n = 10

这是我的相关代码:

编辑:我在某个地方有 OBOB 吗?

编辑:使用以下值: 贴现率 = 4% 项目寿命 = 10 年现金流量 0 = -78110.00 现金流量 1 = 28963.23 现金流量 2 = 30701.06 现金流量 3 = 32543.12 现金流量 4 = 34495.71 现金流量 5 = 36565.45 现金流量流量 6 = 38759.38 现金流量 7 = 41084.94 现金流量 8 = 43550.03 现金流量 9 = 46163.04 现金流量 10 = 48932.82

使用http://www.investopedia.com/calculator/NetPresentValue.aspx上的计算器 并按照手册“教科书”公式得出相同的结果:

净现值:225,761.70 美元

我似乎无法让 NPV() 复制这个结果......它吐出 217,078.59 美元

我使用示例相同的值手动迭代它......所以他们必须使用与我不同的功能......

MSDN 页面示例明确指出初始费用应包含在现金流量列表中。

0 投票
2 回答
1790 浏览

matlab - 如何使用 Black-Scholes 公式计算看涨期权的价值?

我正在尝试计算未来不同时间的空头看涨期权的盈亏,但结果并不正确。与到期时间相比,剩余时间的那些在行使价之上的利润较少,但在低于行使价的某个时间点,它们不会像 t=0 线那样快速贬值。以下是伪代码中的公式,我做错了什么?

真实的matlab代码:

结尾

谢谢,CP

0 投票
2 回答
607 浏览

api - 投资组合管理 API

有谁知道股票/基金 GIPS 投资组合 API。开源版本会更好。谢谢,j。

0 投票
15 回答
5262 浏览

.net - C++ 与虚拟机语言在高频金融中的表现

我认为 C/C++ 与 C#/Java 性能问题已经很好地解决了,这意味着我已经阅读了足够多的证据表明 VM 语言不一定比“接近硅”的语言慢。主要是因为 JIT 编译器可以做静态编译语言不能做的优化。

然而,我最近收到了一个人的简历,他声称基于 Java 的高频交易总是被 C++ 打败,而且他曾经遇到过这种情况。

快速浏览求职网站确实表明 HFT 申请人需要 C++ 知识,并且查看Wilmott论坛显示所有从业者都在谈论 C++。

有什么特别的原因导致这种情况吗?我原以为现代金融业务有点复杂,具有类型安全、托管内存和丰富库的 VM 语言将是首选。这样生产率会更高。另外,JIT 编译器越来越好。他们可以在程序运行时进行优化,因此您会认为他们使用该运行时信息来击败非托管程序的性能。

也许这些人正在用 C++ 编写关键位并从托管环境(P/Invoke 等)中调用它们?那可能吗?

最后,有没有人对这个中心问题有经验,这就是为什么在这个领域中,非托管代码无疑比托管代码更受欢迎?

据我所知,高频交易人员需要尽可能快地对传入的市场数据做出反应,但这并不一定是硬实时要求。如果你很慢,你的情况会更糟,这是肯定的,但你不需要保证每次响应都有一定的速度,你只需要一个快速的平均值。

编辑

是的,到目前为止,有几个很好的答案,但很笼统(广为人知)。让我指定 HFT 人员将运行什么样的程序。

主要标准是反应能力。当订单进入市场时,您希望成为第一个能够对其做出反应的人。如果你迟到了,其他人可能会先于你,但每家公司的策略略有不同,所以如果一个迭代有点慢,你可能会没事。

该程序整天运行,几乎没有用户干预。无论处理每条新市场数据的功能如何,每秒都会运行数十次(甚至数百次)。

这些公司通常对硬件的价格没有限制。

0 投票
5 回答
10226 浏览

api - 需要一个 API 来查找给定股票代码的完整公司名称

我需要一种从客户端 Javascript 中查找给定股票代码的完整公司名称的方法。我知道雅虎财经的界面位于:

http://finance.yahoo.com/d/quotes.csv?s=TKR&f=n

并且能够通过 YQL 访问它(因为这是跨域的)。然而,这并没有返回完整的公司名称,但雅虎财经却有这样的名称,因为它出现在他们的公司图表和他们关于公司的页面上。

我不需要通过 Yahoo Finance 提供解决方案......只需在此处提及它,因为我已经知道它(并且正在访问它以获取其他数据)。

0 投票
2 回答
255 浏览

api - 银行交易者数据库

我看到 mint.com 可以识别出是哪家公司在我的支票账户上进行了交易,以及该公司的典型产品类别。我认为此信息来自金融交易的交易者/描述字段。

是否有免费的公共数据库或 API 可以用来在我的程序中做同样的事情?

0 投票
4 回答
25217 浏览

api - 是否有全球股市实时报价应用程序编程接口 (API)?

我正在寻找一个应用程序编程接口,它允许我访问至少以下证券交易所的多个公司代码的报价和其他数据:

谷歌和雅虎金融似乎都将自己限制在美国和欧洲市场,他们也延迟了数据。盈透证券提供 API ( http://www.interactivebrokers.com/en/pagemap/pagemap_APISolutions.php ),但他们不分享任何细节,并且不允许您在不存入 10.000 美元和几百美元的情况下使用 API月。这太贵了,不能试一试。

所以,我想知道,是否有任何 API 可以满足我的需求?

提前致谢。