test_that("non trading production", {
# Skip on cran without credentials
skip_on_cran()
# Load and revalidate credentials. Need to run login script prior to running
sandbox = FALSE
access_tokens = readRDS('/home/rstudio/Secure/ab_acctok.rds')
etkeys = readRDS('/home/rstudio/Secure/etrd_login_ab.rds')
etrade_cred = etrd_auth_credentials(etkeys$prod_key, etkeys$prod_secret, sandbox = sandbox)
etrd_auth_manage_token(access_tokens = access_tokens, etrade_cred = etrade_cred, sandbox = sandbox)
##### Authenticate functions #####
login = etrd_auth_login_url(etrade_cred, sandbox, auto_open = F)
expect_equal(class(login), 'list')
##### Account functions #####
# Acccount list
actlist = etrd_account_list(sandbox = sandbox)
expect_true(nrow(actlist)>=1)
expect_equal(ncol(actlist),9)
expect_equal(class(etrd_account_list(output = 'list', sandbox = sandbox)),'list')
# Account balances
actbal = etrd_account_balance(account = actlist$accountIdKey[1], realTimeNAV = 'true', sandbox = sandbox)
expect_equal(nrow(actbal),1)
expect_true(ncol(actbal)>10)
actblist = etrd_account_balance(account = actlist$accountIdKey[1], output = 'list', sandbox = sandbox)
expect_equal(class(actblist), 'list')
Sys.sleep(1)
# Portfolios
perf = etrd_account_portfolio(actlist$accountIdKey[1], totalsRequired = 'true',
view = 'PERFORMANCE', sandbox = sandbox)
# owatch = etrd_account_portfolio(actlist$accountIdKey[1], lotsRequired = 'true',
# view = 'OPTIONSWATCH', sandbox = sandbox)
compl = etrd_account_portfolio(actlist$accountIdKey[1], view = 'COMPLETE', sandbox = sandbox)
fund = etrd_account_portfolio(actlist$accountIdKey[1], view = 'FUNDAMENTAL', sandbox = sandbox)
quick = etrd_account_portfolio(actlist$accountIdKey[1], sandbox = sandbox)
expect_equal(class(perf), 'list')
# expect_equal(class(owatch), 'list')
expect_equal(class(compl), 'list')
expect_equal(class(fund), 'list')
expect_equal(class(quick), 'list')
# Alerts
alrts = etrd_alerts(actlist$accountIdKey[1], sandbox = sandbox)
expect_true(nrow(alrts)>10)
aldetail = etrd_alert_detail('5')
expect_equal(class(aldetail), 'list')
Sys.sleep(1)
##### Market functions #####
# Quotes
qts = etrd_market_quote(c('AAPL','MSFT','SPY'), sandbox = sandbox)
expect_true(nrow(qts) >= 1)
expect_true(ncol(qts) >= 50)
qtslst = etrd_market_quote(c('AAPL','MSFT','SPY'), detailFlag = 'intraday',
output = 'list', sandbox = sandbox)
expect_equal(class(qtslst), 'list')
# Product search
search = etrd_product_search('tech', sandbox = sandbox)
expect_true(nrow(search) == 10)
expect_true(ncol(search) == 3)
# Options expiration
exp = etrd_option_expiration('SPY', sandbox = sandbox)
expect_true(nrow(exp) >= 5)
expect_true(ncol(exp) == 4)
Sys.sleep(1)
# Options chain
chain_def = etrd_option_chain('SPY', sandbox = sandbox)
expect_true(nrow(chain_def) >= 1)
expect_true(ncol(chain_def) == 52)
chain_filt = etrd_option_chain(symbol = 'AAPL',
expiryYear = 2021,
expiryMonth = 6,
noOfStrikes = 20,
chainType = 'call',
sandbox = sandbox)
expect_true(nrow(chain_filt) >= 1)
expect_true(ncol(chain_filt) == 26)
##### Order functions #####
### Order History
filterOrd = etrd_order_history(actlist$accountIdKey[1], transactionType = 'BUY', securityType = 'mf',
status = 'EXECUTED', fromDate = Sys.Date()-30, toDate = Sys.Date(), sandbox = sandbox)
expect_true(nrow(filterOrd) >= 1)
expect_true(ncol(filterOrd) >= 20)
orderList = etrd_order_history(actlist$accountIdKey[1], output = 'list', sandbox = sandbox)
expect_equal(class(orderList), 'list')
Sys.sleep(1)
### Transaction search
transdf = etrd_transactions(actlist$accountIdKey[1], fromDate = '2020-01-01', sandbox = sandbox)
expect_true(nrow(transdf) >= 1)
expect_true(ncol(transdf) >= 18)
transList = etrd_transactions(actlist$accountIdKey[1], output = 'list', sandbox = sandbox)
expect_equal(class(transList), 'list')
### Transaction detail
transDet_df = etrd_transaction_detail(actlist$accountIdKey[1], transdf$transactionId[1], sandbox = sandbox)
expect_true(nrow(transDet_df) >= 1)
expect_true(ncol(transDet_df) >= 10)
transDet_list = etrd_transaction_detail(actlist$accountIdKey[1], transdf$transactionId[1],
output = 'list', sandbox = sandbox)
expect_equal(class(transDet_list), 'list')
})
test_that("trading production", {
# Skip on cran without credentials
skip_on_cran()
# Load and revalidate credentials. Need to run login script prior to running
sandbox = FALSE
access_tokens = readRDS('/home/rstudio/Secure/ab_acctok.rds')
etkeys = readRDS('/home/rstudio/Secure/etrd_login_ab.rds')
etrade_cred = etrd_auth_credentials(etkeys$prod_key, etkeys$prod_secret, sandbox = sandbox)
etrd_auth_manage_token(access_tokens = access_tokens, etrade_cred = etrade_cred, sandbox = sandbox)
actlist = etrd_account_list(sandbox = sandbox)
account = actlist$accountIdKey[1]
ticker = 'PSLV'
previewOrder = 'df'
actQuote = etrd_market_quote(ticker, sandbox = sandbox)
# Limit order
# limiteq = etrd_place_eq_order(account = account,
# symbol = 'PSLV',
# quantity = 5,
# quantityType = 'DOLLAR',
# orderAction = 'buy',
# priceType = 'limit',
# limitPrice = as.numeric(actQuote$All.ask)-1,
# previewOrder = 'none',
# sandbox = sandbox)
# etrd_cancel_order(limiteq$accountidKey, limiteq$orderId)
mforder = etrd_place_mf_order(account = account,
symbol = 'SWTSX',
quantity = 5,
quantityType = 'DOLLAR',
mfTransaction = 'sell',
previewOrder = 'none',
sandbox = sandbox)
etrd_cancel_order(mforder$accountidKey, mforder$orderid.orderId)
mforder = etrd_place_mf_order(account = account,
symbol = 'SWTSX',
quantityType = 'QUANTITY',
quantity = 1,
mfTransaction = 'buy',
previewOrder = 'none',
sandbox = sandbox)
etrd_cancel_order(mforder$accountidKey, mforder$orderid.orderId)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.