我想检查几种货币之间的套利机会。
然而,当我们从X-> Y和Y-> X时,汇率是不同的,其中X,Y是两种不同的货币。
假设f是从X到Y的汇率,那么(f ^ -1)^ - 1!= f
我正在取消不同交易者为网站上的每种货币提供的汇率。因此,X-Y交易有大约50-100种不同的利率,我想采用前10种利率来更好地了解市场。
所以,目前我有一个货币矢量,我能够生成所有必需的网络链接以废弃相应的费率(X-> Y,Y-> X,X-> Z,Z- > X,Y-> Z,Z-> Y等)
接下来,我想我想把所有内容放在像这样的数据框中:
然而,每个X-> Y将按降序具有至少10个汇率。最后,我将在数据帧的每个单元格中有一个数据框,其中包含10个列表。
如何以智能且易于使用的方式检索和显示每种货币兑换的前10个费率?
以下代码适用于网站上提供的单一最优惠价格。所以我在" ratestable"中只有最优惠的价格。我正在寻找一种方法,每种方式都有十大价格。我应该生成10" ratestables"或者我应该以另一种方式工作?
#loading libraries
library(rvest)
library(xlsx)
currency_names <- list(fusing=2,alchemy=3,chaos=4)
currency<-unlist(currency_names)
want<-currency
have<-currency
#table of links
linkstable<-table(want,have)
for (i in 1:length(currency)){
for (j in 1:length(currency)){
if (i == j) {
next
} else {
a<-sub("WANTED",currency[i],base_link)
linkstable[i,j]<-sub("POSSESSED",currency[j],a)
}
}
}
linkstable
#data from web
ratestable<-table(want,have)
for (i in 1:length(currency)){
for (j in 1:length(currency)){
if (i == j) {
next
} else {
url <- read_html(linkstable[i,j])
rate <- html_nodes(url,".offer-desc+ .displayoffer .columns+ .displayoffer-centered small")
a <- html_text(rate)
#cleanup of rate format
b<- sub("1 ⨯ → ","",a)
c<-sub(" ⨯ ","",b)
#fill table
ratestable[i,j]<-c
}
}
}
ratestable
示例输出:
> ratestable
have
want 2 3 4
2 1 0.8 3
3 0.8333 1 3.0909
4 0.3333 0.3101 1