Title: | 'Public Trading API' |
Version: | 1.0.0 |
Description: | The 'Public Trading API' https://public.com/api/docs allows clients to access their brokerage accounts, request market data, and place stock/etf/option orders. |
License: | GPL-3 |
Language: | en-US |
Encoding: | UTF-8 |
RoxygenNote: | 7.3.2 |
Imports: | httr, jsonlite, data.table, lubridate, stringr, uuid |
VignetteBuilder: | knitr |
Suggests: | testthat, knitr, rmarkdown |
Config/testthat/edition: | 3 |
NeedsCompilation: | no |
Packaged: | 2025-08-09 09:36:10 UTC; jason |
Author: | Jason Guevara [aut, cre] |
Maintainer: | Jason Guevara <Jason.guevara.yt@gmail.com> |
Repository: | CRAN |
Date/Publication: | 2025-08-22 18:10:11 UTC |
Check & Auto-Renew Bearer Tokens (Internal)
Description
Check & Auto-Renew Bearer Tokens (Internal)
Usage
.rp_checkAccessToken(printMsg = FALSE, mins = 120)
Arguments
printMsg |
= (bool) Should outcome messages be printed out? defaults to FALSE |
mins |
= (int) The number of minutes that the bearer token will be valid for. |
Value
Checks validity of Bearer Token & auto-updates if needed. Assigns the new tokens in 'rp' environment
and 'rp_tokens.rds' file
Examples
## Not run:
# For Internal Use Prior to Making API Requests
.rp_checkAccessToken(printMsg=FALSE, mins=120)
## End(Not run)
temporary working environment
Description
temporary working environment
Usage
.rp_env
Format
An object of class environment
of length 0.
Value
An auto generated environment
to store our tokens
Examples
## Not run:
.rp_env <- new.env(parent = emptyenv())
## End(Not run)
Build Multi-Leg Order Payload (Internal)
Description
Build Multi-Leg Order Payload (Internal)
Usage
.rp_make_multileg_payload(
orderType,
qty,
orderId = NULL,
leg_symbols,
leg_types,
leg_sides,
leg_indicator,
leg_ratios,
lmtPrc = NULL,
tif,
expTime = NULL
)
Arguments
orderType |
= (string) The Type of order: 'MARKET', 'LIMIT', 'STOP', 'STOP_LIMIT' |
qty |
= (string) leg_ratio multiple: ex. '2' multiples the leg_ratios by 2X |
orderId |
= (string) The order ID |
leg_symbols |
= (string) Symbols: ex. c("SPY250815C00631000", "SPY250815C00631000") |
leg_types |
= (string) Symbol types: ex. c("OPTION", "OPTION") |
leg_sides |
= (string) The side for each leg: ex. c("BUY", "SELL") |
leg_indicator |
= (string) Indicates if this is BUY to OPEN/CLOSE ex. c("OPEN", "OPEN") |
leg_ratios |
= (string) The number of contracts to BUY/SELL: ex. c('5','5') |
lmtPrc |
= (string) The limit price. Used when orderType = LIMIT or orderType = STOP_LIMIT |
tif |
= (string) The time in for the order: 'DAY' or 'GTD" |
expTime |
= (string) The expiration date. Only used when timeInForce is GTD, cannot be more than 90 days in the future |
Value
Returns an appropriate payload list
for a multiple-leg order
Examples
## Not run:
# Return the proper order payload for multiple-leg orders
.rp_make_multileg_payload(orderType="LIMIT", qty="2", orderId=rp_getOrderId(),
leg_symbols = c("SPY250815C00631000", "SPY250815C00631000"),
leg_types = c("OPTION", "OPTION"), leg_sides = c("BUY", "SELL"),
leg_indicator = c("OPEN", "OPEN"), leg_ratios=c('5','5'),
lmtPrc='0.25', tif="DAY")
## End(Not run)
Build Option Symbol (Internal)
Description
Build Option Symbol (Internal)
Usage
.rp_make_opt_symbol(under_sym, exp, type, strike)
Arguments
under_sym |
= (string) Underlying symbol for the option: ex. 'SPY' |
exp |
= (string) The option expiration: ex. "2025-08-15" |
type |
= (string) The option type: 'C' for Call & 'P' for Put |
strike |
= (double/int) The option strike price: 631 or 631.00 |
Value
Returns a valid symbol string
for the option contract of interest
Examples
## Not run:
# Return the proper option symbol of interest: "TSLA250808C00325000"
.rp_make_opt_symbol(under_sym="TSLA", exp="2025-08-08", type="C", strike=325)
## End(Not run)
Build Single-Leg Order Payload (Internal)
Description
Build Single-Leg Order Payload (Internal)
Usage
.rp_make_ord_payload(
ticker,
symType,
orderId = NULL,
side = NULL,
ordType = NULL,
timeInForce = NULL,
expirationTime = NULL,
qty = NULL,
amt = NULL,
lmtPrc = NULL,
stopPrc = NULL,
openCloseIndicator = NULL
)
Arguments
ticker |
= (string) Ticker symbol: ex. 'SPY' |
symType |
= (string) Symbol type: ex. 'EQUITY' |
orderId |
= (string) The order ID |
side |
= (string) The Order Side BUY/SELL. For Options also include the openCloseIndicator |
ordType |
= (string) The Type of order: 'MARKET', 'LIMIT', 'STOP', 'STOP_LIMIT' |
timeInForce |
= (string) The time in for the order: 'DAY' or 'GTD" |
expirationTime |
= (string) The expiration date. Only used when timeInForce is GTD, cannot be more than 90 days in the future |
qty |
= (string) The order quantity. Used when buying/selling whole shares and when selling fractional. Mutually exclusive with amount |
amt |
= (string) The order amount. Used when buying/selling shares for a specific notional value |
lmtPrc |
= (string) The limit price. Used when orderType = LIMIT or orderType = STOP_LIMIT |
stopPrc |
= (string) The stop price. Used when orderType = STOP or orderType = STOP_LIMIT |
openCloseIndicator |
= (string) Used for options only. Indicates if this is BUY to OPEN/CLOSE |
Value
Returns an appropriate payload list
for a single-leg order
Examples
## Not run:
# Return the proper order payload for single-leg orders
.rp_make_ord_payload(under_sym="IWM", symType = "EQUITY", orderId = rp_getOrderId(),
side="BUY", orderType="LIMIT", timeInForce="GTD",
expirationTime ="2023-11-07T05:31:56Z", qty=1.735, lmtPrc="200.00")
## End(Not run)
Build Dynamic Payload For rp_getQuote (Internal)
Description
Build Dynamic Payload For rp_getQuote (Internal)
Usage
.rp_make_qte_payload(symbols, types)
Arguments
symbols |
= (string) Equity/ETF/Option symbol(s) |
types |
= (string) The product type (ex. 'EQUITY' or 'OPTION') |
Value
Returns a list
in the appropriate payload format in case the user needs multiple symbols for quotes
Examples
## Not run:
# Create the correct quote payload for AAPL and a SPY 631 Call 8/15/25 Expiration
.rp_make_qte_payload(symbols=c("AAPL","SPY250815C00631000"), types=c("EQUITY","OPTION"))
## End(Not run)
Request token file (Internal)
Description
Request token file (Internal)
Usage
.rp_read_tokens()
Value
Requests your token file 'rp_tokens.rds' from working directory & assigns a working environment
if it exists
Examples
## Not run:
# For Internal Use (assigns tokens inside of the 'rp' environment)
.rp_read_tokens()
## End(Not run)
Cancel Order
Description
Cancel Order
Usage
rp_cancel_order(accountId, orderId)
Arguments
accountId |
= Public Brokerage Account Number |
orderId |
= The order ID |
Value
Request order cancellation & return as a data.frame
.
Examples
## Not run:
# Cancels Specific Order
my_acc <- rp_getAccts()
rp_cancel_order(accountId = my_acc$accountId,
orderId = "c99be1dd-bb87-4f7a-803f-ec47226bf64e")
## End(Not run)
Get History
Description
Get History
Usage
rp_getAccHist(accountId, start = NULL, end = NULL, pageSize = NULL)
Arguments
accountId |
= Public Brokerage Account Number |
start |
= (Optional) Start timestamp in ISO 8601 format with timezone. Ex. "YYYY-MM-DDTHH:MM:SSZ" |
end |
= (Optional) End timestamp in ISO 8601 format with timezone. Ex. "YYYY-MM-DDTHH:MM:SSZ" |
pageSize |
= (Optional) Maximum number of records to return. |
Value
Fetches a paginated data.frame
of historical events for the specified account.
Examples
## Not run:
# Return Public Brokerage Account History
my_acc <- rp_getAccts()
# using only accountId
my_hist <- rp_getAccHist(accountId = my_acc$accountId)
# using some parameters
my_hist <- rp_getAccHist(accountId = my_acc$accountId,
start = format(Sys.time()-days(30), format="%Y-%m-%dT%H:%M:%SZ"),
pageSize = 20
)
## End(Not run)
Get New Access/Bearer Token From Secret Key
Description
Get New Access/Bearer Token From Secret Key
Usage
rp_getAccToken(exp_in_mins)
Arguments
exp_in_mins |
= (int) The number of minutes that the bearer token will be valid for. |
Value
Update Bearer Token from secret key & returns working environment
and saves updated tokens in 'rp_tokens.rds'
Examples
## Not run:
# Request New Bearer Token that expires in 120 minutes
rp_getAccToken(exp_in_mins=120)
## End(Not run)
Get Public Account Info
Description
Get Public Account Info
Usage
rp_getAccts()
Value
Returns a data.frame
for the user's Public Brokerage Account
Examples
## Not run:
# Return Public Brokerage Account Information
rp_getAccts()
## End(Not run)
Get Account Portfolio V2
Description
Get Account Portfolio V2
Usage
rp_getAcctsPort(accountId)
Arguments
accountId |
= Public Brokerage Account Number |
Value
Returns a data.frame
for the user's specific Public Brokerage Account
Examples
## Not run:
# Return Public Brokerage Account Information
my_acc <- rp_getAccts()
my_port <- rp_getAcctsPort(accountId = my_acc$accountId)
## End(Not run)
Get All Instruments
Description
Get All Instruments
Usage
rp_getAllInstruments(
typeFilter = NULL,
tradingFilter = NULL,
fractionalTradingFilter = NULL,
optionTradingFilter = NULL,
optionSpreadTradingFilter = NULL
)
Arguments
typeFilter |
= (Optional) Ex. "BOND","EQUITY","CRYPTO","INDEX","ALT" |
tradingFilter |
= (Optional) Ex. "BUY_AND_SELL","DISABLED","LIQUIDATION_ONLY" |
fractionalTradingFilter |
= (Optional) Ex. "DISABLED","BUY_AND_SELL","LIQUIDATION_ONLY" |
optionTradingFilter |
= (Optional) Ex. "DISABLED","BUY_AND_SELL","LIQUIDATION_ONLY" |
optionSpreadTradingFilter |
= (Optional) Ex. "DISABLED","BUY_AND_SELL","LIQUIDATION_ONLY" |
Value
Retrieves all available trading instruments with optional filtering capabilities as a data.frame
.
Examples
## Not run:
# Fetches All Instruments From Public
all_inst <- rp_getAllInstruments()
# Fetches All equities enabled for trading fractional shares
all_frac <- rp_getAllInstruments(typeFilter = "EQUITY",
tradingFilter = 'BUY_AND_SELL',
fractionalTradingFilter = 'BUY_AND_SELL')
## End(Not run)
Get Specific Instrument Information
Description
Get Specific Instrument Information
Usage
rp_getInstrument(symbol, type)
Arguments
symbol |
= Trading Symbol Type: Ex. "AAPL" |
type |
= Symbol Type Ex. "EQUITY", "OPTION", "MULTI_LEG_INSTRUMENT", "CRYPTO", "ALT", "TREASURY", "BOND", "INDEX" |
Value
Retrieves specific trading instrument with optional filtering capabilities as a data.frame
.
Examples
## Not run:
# Fetches AAPL instrument trading information
this_ins <- rp_getInstrument(symbol = "AAPL", type="EQUITY")
## End(Not run)
Get Option Chains
Description
Get Option Chains
Usage
rp_getOptChains(accountId, ticker, type, exp)
Arguments
accountId |
= Public Brokerage Account Number |
ticker |
= Ticker symbol: Ex. "SPY" |
type |
= Ticker Type: Ex. 'EQUITY','OPTION','MULTI_LEG_INSTRUMENT', 'CRYPTO', 'ALT','TREASURY', 'BOND', 'INDEX' |
exp |
= Option Expiration Date: Ex. "2025-08-08" |
Value
Retrieve option chains by symbol and return as a data.frame
.
Examples
## Not run:
# Fetches Option Chains for Ticker Symbol
my_acc <- rp_getAccts()
rp_getOptChains(accountId = my_acc$accountId, ticker = 'SPY', type = "EQUITY", exp="2025-08-15")
## End(Not run)
Get Option Expiration Dates
Description
Get Option Expiration Dates
Usage
rp_getOptExp(accountId, ticker, type)
Arguments
accountId |
= Public Brokerage Account Number |
ticker |
= Ticker symbol: Ex. "SPY" |
type |
= Ticker Type: Ex. 'EQUITY','OPTION','MULTI_LEG_INSTRUMENT', 'CRYPTO', 'ALT','TREASURY', 'BOND', 'INDEX' |
Value
Retrieve option expiration dates for a specific ticker symbol as a data.frame
.
Examples
## Not run:
# Fetches Option Expiry Dates Available
my_acc <- rp_getAccts()
rp_getOptExp(accountId = my_acc$accountId, ticker = "TSLA", type="EQUITY")
## End(Not run)
Order ID
Description
Order ID
Usage
rp_getOrderId()
Value
An auto generated character
string to use for placing orders
Examples
## Not run:
rp_getOrderId()
## End(Not run)
Get Trading Quotes
Description
Get Trading Quotes
Usage
rp_getQuote(accountId, ticker, type)
Arguments
accountId |
= Public Brokerage Account Number |
ticker |
= Ticker symbol: Ex. "SPY" |
type |
= Ticker Type: Ex. 'EQUITY','OPTION','MULTI_LEG_INSTRUMENT', 'CRYPTO', 'ALT','TREASURY', 'BOND', 'INDEX' |
Value
Retrieve real-time quotes as a data.frame
.
Examples
## Not run:
# Fetches Multiple Real-Time Quotes
my_acc <- rp_getAccts()
rp_getQuote(accountId = my_acc$accountId, ticker = "TSLA", type="EQUITY")
rp_getQuote(accountId = my_acc$accountId, ticker = 'SPY250807C00633000', type = "OPTION")
rp_getQuote(accountId = my_acc$accountId,
ticker = c("AAPL", 'SPY250807C00633000'),
type = c("EQUITY", "OPTION"))
## End(Not run)
Get Option Greeks
Description
Get Option Greeks
Usage
rp_get_greeks(accountId, osiOptionSymbol)
Arguments
accountId |
= Public Brokerage Account Number |
osiOptionSymbol |
= option symbol |
Value
Request order cancellation & return as a data.frame
.
Examples
## Not run:
# get account number
my_acc <- rp_getAccts()
# build option symbol
this_op = .rp_make_opt_symbol(under_sym = "SPY", exp = "2025-08-22",
type = "P", strike = 600)
# get greeks
rp_get_greeks(accountId = my_acc$accountId, osiOptionSymbol = this_op)
## End(Not run)
Get Order Details
Description
Get Order Details
Usage
rp_get_order(accountId, orderId)
Arguments
accountId |
= Public Brokerage Account Number |
orderId |
= The order ID |
Value
Retrieve order details & return as a data.frame
.
Examples
## Not run:
# Fetches Specific Order
my_acc <- rp_getAccts()
rp_get_order(accountId = my_acc$accountId,
orderId = "c99be1dd-bb87-4f7a-803f-ec47226bf64e")
## End(Not run)
Multi-Leg Live Order
Description
Multi-Leg Live Order
Usage
rp_order_multi(
accountId,
orderType,
orderId,
qty,
leg_symbols,
leg_types,
leg_sides,
leg_indicator,
leg_ratios,
tif,
mins = NULL,
lmtPrc = NULL
)
Arguments
accountId |
= Public Brokerage Account Number |
orderType |
= The Type of order: Ex. 'MARKET','LIMIT', 'STOP', 'STOP_LIMIT' |
orderId |
= The order ID: use rp_getOrderId() |
qty |
= leg_ratio multiple: ex. '2' multiples the leg_ratios by 2X |
leg_symbols |
= Symbols: ex. c("SPY250815C00631000", "SPY250815C00631000") |
leg_types |
= Symbol types: ex. c("OPTION", "OPTION") |
leg_sides |
= The side for each leg: ex. c("BUY", "SELL") |
leg_indicator |
= Indicates if this is BUY to OPEN/CLOSE ex. c("OPEN", "OPEN") |
leg_ratios |
= The number of contracts to BUY/SELL: ex. c('5','5') |
tif |
= The time in for the order: 'DAY' or 'GTD" |
mins |
= Minutes till order expires. |
lmtPrc |
= The limit price. Used when orderType = LIMIT or orderType = STOP_LIMIT |
Value
Place a new multi-leg order and returns order id as a data.frame
.
Examples
## Not run:
# Fetches costs associated with the type of order being placed
my_acc <- rp_getAccts()
# open bull-call spread for 0.25 (buy 2, sell 2)
rp_order_multi(accountId = my_acc$accountId, orderType = "LIMIT", qty = 2,
leg_symbols = c("SPY250815C00630000","SPY250815C00632000"),
leg_types = c("OPTION", "OPTION"), leg_sides = c("BUY","SELL"),
leg_indicator = c("OPEN", "OPEN"), leg_ratios = c(1, 1),
tif = "DAY", lmtPrc = 0.25, orderId = rp_getOrderId())
# open long butterfly for 0.05
rp_order_multi(accountId = my_acc$accountId, orderType = "LIMIT", qty = 1,
leg_symbols = c("SPY250815C00630000",
"SPY250815C00631000",
"SPY250815C00632000"),
leg_types = c("OPTION", "OPTION", "OPTION"),
leg_sides = c("BUY","SELL","BUY"),
leg_indicator = c("OPEN","OPEN","OPEN"),
leg_ratios = c(1, 2, 1), tif = "DAY", lmtPrc = 0.05,
orderId = rp_getOrderId())
# open iron-condor
rp_order_multi(accountId = my_acc$accountId, orderType = "LIMIT", qty = 1,
leg_symbols = c("SPY250815C00631000","SPY250815C00630000",
"SPY250815C00625000","SPY250815C00624000"),
leg_types = c("OPTION", "OPTION", "OPTION","OPTION"),
leg_sides = c("SELL","BUY","SELL","BUY"),
leg_indicator = c("OPEN","OPEN","OPEN","OPEN"),
leg_ratios = c(1, 1, 1, 1), tif = "DAY", lmtPrc = 0.30,
orderId = rp_getOrderId())
# covered call
rp_order_multi(accountId = my_acc$accountId, orderType = "LIMIT", qty = 1,
leg_symbols = c("RIVN","RIVN250815C00012000"),
leg_types = c("EQUITY", "OPTION"),
leg_sides = c("BUY","SELL"),
leg_indicator = c("OPEN", "OPEN"),
leg_ratios = c(100, 1),
tif = "DAY", lmtPrc = 11.75,
orderId = rp_getOrderId())
## End(Not run)
Single-Leg Live Order
Description
Single-Leg Live Order
Usage
rp_order_single(
accountId,
ticker,
symType,
orderId,
side = NULL,
ordType = NULL,
timeInForce = NULL,
expirationTime = NULL,
qty = NULL,
amt = NULL,
lmtPrc = NULL,
stopPrc = NULL,
openCloseIndicator = NULL
)
Arguments
accountId |
= Public Brokerage Account Number |
ticker |
= Ticker symbol: Ex. "SPY" |
symType |
= Ticker Type: Ex. 'EQUITY','OPTION','MULTI_LEG_INSTRUMENT', 'CRYPTO', 'ALT','TREASURY', 'BOND', 'INDEX' |
orderId |
= The order ID: use rp_getOrderId() |
side |
= The Order Side BUY/SELL. For Options also include the openCloseIndicator. Ex. 'BUY' OR 'SELL' |
ordType |
= The Type of order: Ex. 'MARKET','LIMIT', 'STOP', 'STOP_LIMIT' |
timeInForce |
= The time in for the order: Ex. 'DAY' OR 'GTD" |
expirationTime |
= The expiration date. Only used when timeInForce is GTD, cannot be more than 90 days in the future |
qty |
= The order quantity. Used when buying/selling whole shares and when selling fractional. Mutually exclusive with amount |
amt |
= The order amount. Used when buying/selling shares for a specific notional value |
lmtPrc |
= The limit price. Used when orderType = LIMIT or orderType = STOP_LIMIT |
stopPrc |
= The stop price. Used when orderType = STOP or orderType = STOP_LIMIT |
openCloseIndicator |
= Used for options only. Indicates if this is BUY to OPEN/CLOSE |
Value
Submit a live single-leg order and and returns the order ID as a data.frame
.
Examples
## Not run:
# Submit a live single-leg order to your Public Brokerage Account
my_acc <- rp_getAccts()
# Option Order
rp_order_singleLeg(accountId = my_acc$accountId, ticker = "SPY250815C00633000", symType = "OPTION",
orderId = rp_getOrderId(), side = "BUY", ordType = "LIMIT", lmtPrc = 1.50,
timeInForce = "DAY", qty = 1, openCloseIndicator = "OPEN")
# Equity Fraction Share Order
rp_preOrder_singleLeg(accountId = my_acc$accountId, ticker = "TSLA", symType = "EQUITY",
side = "BUY", ordType = "MARKET", timeInForce = "DAY", qty = 0.50,
openCloseIndicator = "OPEN")
## End(Not run)
Preflight Multiple-Leg
Description
Preflight Multiple-Leg
Usage
rp_preOrder_multiLeg(
accountId,
orderType,
qty,
leg_symbols,
leg_types,
leg_sides,
leg_indicator,
leg_ratios,
tif,
mins = NULL,
lmtPrc = NULL
)
Arguments
accountId |
= Public Brokerage Account Number |
orderType |
= The Type of order: Ex. 'MARKET','LIMIT', 'STOP', 'STOP_LIMIT' |
qty |
= leg_ratio multiple: ex. '2' multiples the leg_ratios by 2X |
leg_symbols |
= Symbols: ex. c("SPY250815C00631000", "SPY250815C00631000") |
leg_types |
= Symbol types: ex. c("OPTION", "OPTION") |
leg_sides |
= The side for each leg: ex. c("BUY", "SELL") |
leg_indicator |
= Indicates if this is BUY to OPEN/CLOSE ex. c("OPEN", "OPEN") |
leg_ratios |
= The number of contracts to BUY/SELL: ex. c('5','5') |
tif |
= The time in for the order: 'DAY' or 'GTD" |
mins |
= Minutes till order expires. |
lmtPrc |
= The limit price. Used when orderType = LIMIT or orderType = STOP_LIMIT |
Value
Calculates the estimated financial impact of a complex multi-leg trade before execution and returns as a data.frame
.
Examples
## Not run:
# Fetches costs associated with the type of order being placed
my_acc <- rp_getAccts()
# open bull-call spread for 0.25 (buy 2, sell 2)
rp_preOrder_multiLeg(accountId = my_acc$accountId, orderType = "LIMIT", qty = 2,
leg_symbols = c("SPY250815C00630000","SPY250815C00632000"),
leg_types = c("OPTION", "OPTION"), leg_sides = c("BUY","SELL"),
leg_indicator = c("OPEN", "OPEN"), leg_ratios = c(1, 1),
tif = "DAY", lmtPrc = 0.25)
# open long butterfly for 0.05
rp_preOrder_multiLeg(accountId = my_acc$accountId, orderType = "LIMIT", qty = 1,
leg_symbols = c("SPY250815C00630000",
"SPY250815C00631000",
"SPY250815C00632000"),
leg_types = c("OPTION", "OPTION", "OPTION"),
leg_sides = c("BUY","SELL","BUY"),
leg_indicator = c("OPEN","OPEN","OPEN"),
leg_ratios = c(1, 2, 1), tif = "DAY", lmtPrc = 0.05)
# open iron-condor
rp_preOrder_multiLeg(accountId = my_acc$accountId, orderType = "LIMIT", qty = 1,
leg_symbols = c("SPY250815C00631000","SPY250815C00630000",
"SPY250815C00625000","SPY250815C00624000"),
leg_types = c("OPTION", "OPTION", "OPTION","OPTION"),
leg_sides = c("SELL","BUY","SELL","BUY"),
leg_indicator = c("OPEN","OPEN","OPEN","OPEN"),
leg_ratios = c(1, 1, 1, 1), tif = "DAY", lmtPrc = 0.30)
## End(Not run)
Preflight Single-Leg
Description
Preflight Single-Leg
Usage
rp_preOrder_singleLeg(
accountId,
ticker,
symType,
side = NULL,
ordType = NULL,
timeInForce = NULL,
expirationTime = NULL,
qty = NULL,
amt = NULL,
lmtPrc = NULL,
stopPrc = NULL,
openCloseIndicator = NULL
)
Arguments
accountId |
= Public Brokerage Account Number |
ticker |
= Ticker symbol: Ex. "SPY" |
symType |
= Ticker Type: Ex. 'EQUITY','OPTION','MULTI_LEG_INSTRUMENT', 'CRYPTO', 'ALT','TREASURY', 'BOND', 'INDEX' |
side |
= The Order Side BUY/SELL. For Options also include the openCloseIndicator. Ex. 'BUY' OR 'SELL' |
ordType |
= The Type of order: Ex. 'MARKET','LIMIT', 'STOP', 'STOP_LIMIT' |
timeInForce |
= The time in for the order: Ex. 'DAY' OR 'GTD" |
expirationTime |
= The expiration date. Only used when timeInForce is GTD, cannot be more than 90 days in the future |
qty |
= The order quantity. Used when buying/selling whole shares and when selling fractional. Mutually exclusive with amount |
amt |
= The order amount. Used when buying/selling shares for a specific notional value |
lmtPrc |
= The limit price. Used when orderType = LIMIT or orderType = STOP_LIMIT |
stopPrc |
= The stop price. Used when orderType = STOP or orderType = STOP_LIMIT |
openCloseIndicator |
= Used for options only. Indicates if this is BUY to OPEN/CLOSE |
Value
Calculates the estimated financial impact of a potential trade before execution and returns as a data.frame
.
Examples
## Not run:
# Fetches costs associated with the type of order being placed
my_acc <- rp_getAccts()
rp_preOrder_singleLeg(accountId = my_acc$accountId, ticker = "SPY250815C00633000",
symType = "OPTION", side = "BUY", ordType = "MARKET",
timeInForce = "DAY", qty = 1, openCloseIndicator = "OPEN")
rp_preOrder_singleLeg(accountId = my_acc$accountId, ticker = "TSLA",
symType = "EQUITY", side = "BUY", ordType = "MARKET",
timeInForce = "DAY", qty = 0.50,
openCloseIndicator = "OPEN")
## End(Not run)