0
私はトレーダーとそのアクションをシミュレートしており、プロットステートメントの繰り返しポイントを取り除こうとしています。これを行う最善の方法は何ですか?言い換えれば、ninterval >1
の場合、ポイントが繰り返されるプロットが得られます。プロットを生成するプロットの繰り返しポイントを取り除く
f1 <- function(n,m,priceinitial,delta,mean, sd, ninterval){
traders <- vector(mode="character", length=n)
traderscurrent <- vector(mode="character", length=n)
price <- vector(mode="numeric")
pricecurrent <- vector(mode="numeric")
for(nint in 1:ninterval)
{
L = floor(rnorm(1,mean,sd))
print(L)
x3 <- runif(2,0,1)
v <- c(0, min(x3), max(x3))
for(i in 1:n)
{
traders[i] <- runif(1,0,1)
if(findInterval(traders[i],v) == sample(c(1,3),1))
{
traders[i] <- "B"
}
else if(findInterval(traders[i],v) == 2)
{
traders[i] <- "N"
}
else {
traders[i] <- "S"
}
}
print(table(traders))
for(step in 1:L)
{
for(i in 1:n)
{
b <- sample(traders[-i], m)
print(b)
table(b)
traderscurrent[i] <- sample(b,1)
}
print(table(traderscurrent))
pricecurrent[step] = priceinitial+length(which(traderscurrent == "B"))*delta-length(which(traderscurrent == "S"))*delta
priceinitial = pricecurrent[step]
traders <- traderscurrent
#print(nint)
#print(step)
}
price <- c(price,pricecurrent)
price <- price[-L]
}
print(price)
plot(price)
}
コールは次のとおりです。
f1(10,2,100,5,10,1,5)
最後の3つの点は意味がありません。
あなたは一例を完了していただけますか? –
@ Hack-R:f1(10,2,100,5,10,1,5)のグラフを追加しました。 – user21478
@ Hack-R:異なる乱数をサンプリングしているので、f1(10,2,100,5,10,1,5)の各実行は異なります。私の場合、最後の3つのドットはそこにあるべきではないようです。 – user21478