-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathGetStrikePremiumTable.R
31 lines (23 loc) · 1.12 KB
/
GetStrikePremiumTable.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#
# Функция для приложения: выгрузка страйка-премии опциона
#
#
GetStrikePremiumTable = function(symbol, expiry_date, market_price_type, opt_right){
if(!require('quantmod')) install.packages('quantmod')
# Загружаем опционную доску выбранного актива и даты экспирации;
option_chain = getOptionChain(symbol, Exp=expiry_date)
# Выбираем столбцы Примия и Страйк;
opt_rights = c("call", "put")
opt_board_n = which( opt_rights %in% opt_right)
option_chain_short = option_chain[[opt_board_n]]
# Рыночная цена - середина
if(market_price_type=="mid"){
option_chain_short$Mid = (option_chain_short$Ask + option_chain_short$Bid)/2
option_chain_short = option_chain_short[, c("Strike", "Mid")]
}
# Рыночная цена - цена последней сделки
if(market_price_type=="last")
option_chain_short = option_chain_short[, c("Strike", "Last")]
names(option_chain_short) = c("Strike", "Premium")
return(option_chain_short)
}