| 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)