标签: quantitative-finance

如何设计适合金融工具的编程语言?

我在一家专门从事金融业的精品店工作.

我们考虑设计一种语言来描述与金融市场相关的金融实体.

这将主要用作某种脚本语言来替换电子表格和VBA宏中的许多进程.

它必须简单,事实上,它在幕后调用各种C++和C#库.它必须让用户处理抽象的对象,这些对象可以表示时间序列(日内和日常).

它必须是完全可调试的,当用户遇到问题时,我们必须能够介入C++/C#代码并重现错误.理想情况下,它必须能够通过Excel中的某种机制启动并在Excel中返回结果.(不幸的是,几乎每个在财务部门工作的人都在使用Excel)

如果你不得不做这个任务,你会怎么做呢?

你会选择功能语法吗?

你会开发一些可以解释的脚本语言吗?或者你会用另一种语言编译它(比如用C++或C#转换脚本)?

我没有找到任何这种开发的开源项目,但有没有使用这种语法的商业产品?

编辑:我读了你所有的答案,但我会等待更多的时间才能找到答案.虽然它们都是非常有用的意见!

EDIT2:我将High-Performance Mark标记为解决方案.您的所有回复都非常有用,我已将其全部修改完毕.他是最早的答案之一,他的回答对我们非常有见地.

finance computational-finance quantitative quantitative-finance

6
推荐指数
2
解决办法
2020
查看次数

在R中使用XTS/ZOO等从股票价格时间序列中获取日内交易量数据的最佳方法是什么?

例如,假设您xts从上午9:30到下午4:30 ,每天1分钟的仪器x数据的数据为10年,如下(格式):

    Date.Time               Volume        
    2001-01-01 09:30:00     1200
    2001-01-01 09:31:00     1110
    2001-01-01 09:32:00     1303
Run Code Online (Sandbox Code Playgroud)

一直到:

    2010-12-20 16:28:00     3200
    2010-12-20 16:29:00     4210
    2010-12-20 16:30:00     8303
Run Code Online (Sandbox Code Playgroud)

我想要:

  • 获得整个系列的每分钟平均音量(即9:30,9:31,9:32 ...... 16:28,16:29,16:30的所有10年的平均音量)

我该怎么做才能最好:

  • 将数据聚合到一分钟桶中
  • 获得这些桶的平均值
  • 将这些"平均"桶重新组合成单​​个xts/zoo时间序列?

我有一个很好的戳周围aggregate,sapply,period.apply功能等,但只是似乎无法"bin"的数据正确.

用循环解决这个问题很容易,但速度很慢.我宁愿避免使用程序化解决方案并使用利用C++架构的功能(即xts基于解决方案)

有人可以提供一些建议/解决方案吗?

非常感谢提前.

r time-series quantitative-finance zoo xts

6
推荐指数
1
解决办法
1841
查看次数

Highstock与谷歌排行榜的表现

A)我正在使用 Highstock图表库来进行我的金融项目.但是,我陷入了性能问题的困境.我在Highstock的工作实现有 i)图表中的5个图表 ii)图表中的多行(和行类型) iii)应用于图表上的点的标签 iv)每秒一次到达的新数据,添加点和动画向左图.但是,我在使用此设置时遇到了一些关键问题:

  • 渲染非常慢.由于绘制图形的数量(和次数),这是一个性能问题
  • 无法调整底部的时间范围控制.由于控制冻结导致的性能问题
  • 我可以添加一个点,向左移动图形.但是,我无法添加带有该新数据点的标志.看到这个SO问题.

在此输入图像描述

B)我已经检查了其他这些SO问题( Highstock Performance Issue,Highcharts Performance Enhancement Method?),并尝试了他们的解决方案,但改进非常有限:

:turboThreshold 50 ;; tick-list length will be a max of 100
:shadow false
:marker {:enabled false}
:plotOptions{:series {:enableMouseTracking false}}
Run Code Online (Sandbox Code Playgroud)

C)我没有看到这些Highstock问题的简单解决方案.这是一个很棒的图书馆.但我正在查看谷歌图表API,看看它是否能满足这些要点.

  • 鉴于以下所有交互,Google Charts API的性能超过了Highstock ......
  • 一页上有多个图表
  • 1个视图中的多个重叠图表
  • 图表:线,面积(范围),直方图,阈值线(见红线和绿线)
  • 轻松添加标记到我的时间序列中的一个点
  • 轻松将点添加到我的时间序列折线图中
  • 轻松地将点和标志(同时)添加到我的时间序列折线图中

D)有没有人经历过类似的事情?还有其他方法可以改善我的高品质性能吗?Google Charts可以在这里做得更好吗?

谢谢

PS.我的highcharts调用看起来像这样(Clojurescript代码):

(defn chart-fill [selector dataList signal-map strategy-map label]

  (-> ($ selector)
      (.highcharts "StockChart" (clj->js …
Run Code Online (Sandbox Code Playgroud)

performance google-finance highcharts quantitative-finance highstock

6
推荐指数
1
解决办法
6724
查看次数

使用R中的Actual/365约定的年份分数

是否有任何函数/包可以计算年份分数(两个日期之间的差异)与不同的日计数约定,如matlab中的yearfrac()?我需要使用Actual/365约定.

r quantitative-finance

6
推荐指数
1
解决办法
984
查看次数

如何计算股票价格的趋势线

我试图计算并绘制股票价格的趋势线.我做了一些搜索并想了一整天,对于怎么做都没有一个很好的主意.

我有每日价格历史,想要找到趋势线和价格线之间的交叉点.

你能提供一些想法或指导吗?

非常感谢!!!

趋势线示例

python quantitative-finance

6
推荐指数
1
解决办法
6950
查看次数

使用 Pandas 计算元组最长递增子序列的矢量化或有效方法

使用pandas/python,我想计算每组元组的最长递增子序列DTE,但有效地使用13M行。现在,使用 apply/iteration 大约需要 10 个小时。

这大概是我的问题:

DTE 罢工 出价
1 100 10 11
1 200 16 17
1 300 17 18
1 400 11 12
1 500 12 13
1 600 13 14
2 100 10 30
2 200 15 20
2 300 16 21
import pandas as pd
pd.DataFrame({
    'DTE': [1,1,1,1,1,1,2,2,2],
    'Strike': [100,200,300,400,500,600,100,200,300],
    'Bid': [10,16,17,11,12,13,10,15,16],
    'Ask': [11,17,18,12,13,14,30,20,21],
})
Run Code Online (Sandbox Code Playgroud)

我想要:

  • 将这些分组DTE。这里我们有两个组(DTE 1 和 DTE 2)。然后在每个组内...
  • 找到最长的成对递增子序列。排序由 确定Strike,它对于每个 DTE 组都是唯一的。所以 200 Strike 是在 100 …

python vectorization quantitative-finance pandas subsequence

6
推荐指数
1
解决办法
185
查看次数

R Ibrokers twsOPT用法

reqMktData(tws,twsOPT("AAPL 110820C00390000"))
Run Code Online (Sandbox Code Playgroud)

要么

reqMktData(tws,twsOPT("AAPL110820C00390000"))
Run Code Online (Sandbox Code Playgroud)

结果:TWS消息:2 1 200未找到请求的安全定义

为什么?

reqMktData(tws,twsSTK("AAPL"))
Run Code Online (Sandbox Code Playgroud)

工作良好.

该联机帮助页说:

twsOption(local,
          expiry="",
          strike="",
          right="",
          exch="SMART",
          primary="",
          currency='USD',
          symbol='',
          multiplier="100",
          include_expired='0',
          conId=0)
Run Code Online (Sandbox Code Playgroud)

TWS上的期权合约具有与标准数据请求不同的某些规则.

需要本地符号.这可以在合约详细信息的主要交易平台屏幕上找到,也可以通过网站www.interactivebrokers.com找到

由于需要本地符号,因此所有其他值都是多余的.最好只需指定本地名称,让TWS管理查找.

r quantitative-finance ibrokers

5
推荐指数
2
解决办法
1822
查看次数

ValueError:序数必须 >= 1

这段代码,从谷歌金融获取直线的 2 个坐标,并将第三个点放置在同一条线上一定距离处。

 import datetime as dt
 from datetime import timedelta as td
 import matplotlib.pyplot as plt
 from matplotlib import style
 import pandas as pd
 import pandas_datareader.data as web
 import numpy as np

 start = dt.datetime(2017, 7, 1)
 end = dt.datetime(2017, 3, 1)

 # retrieving data from google
 df = web.DataReader('TSLA', 'google', start, )

 Dates = df.index
 Highs = df['High'] # Getting only the values from the 'High' Column.

 Highest_high = np.amax(Highs)  # returns the Highest value
      for i, h …
Run Code Online (Sandbox Code Playgroud)

python matplotlib quantitative-finance dataframe pandas

5
推荐指数
1
解决办法
2万
查看次数

Google财经API地址已更改

直到昨天,以下网址(Google财经API)

https://www.google.com/finance/getprices?q=TSLA&x=NASDAQ&i=3600&p=5d&f=d,o,h,l,c,v

将导致一个漂亮的逗号分隔数据表与TSLA股票数据.从昨天起,同一个电话被重定向到TSLA https://www.google.com/search?q=TSLA&tbm=fin的标准谷歌财经网站.有人可能知道新的API地址或有关于Google财经API状态的任何信息吗?将URL更改为

https://finance.google.com/finance/getprices?q=TSLA&x=NASDAQ&i=3600&p=5d&f=d,o,h,l,c,v

没有帮助,因为它也重定向到正常的网站.

finance google-finance quantitative-finance

5
推荐指数
0
解决办法
5536
查看次数

How to calculate implied volatility in R

I am trying to create my own function in R based on black scholes variables and solve "backwards" i suppose for sigma.

I have created a function to find the call price; however, now I have to find the sigma (implied volatility) estimates in R and then test my function to see if it works... I have tried different functions but I can not seem to figure out what I am doing wrong, part of me thinks I need to …

finance r quantitative-finance

5
推荐指数
1
解决办法
944
查看次数