snaptrade 1.17.10 → 2.0.77
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +1 -0
- data/Gemfile.lock +31 -28
- data/README.md +1995 -208
- data/lib/snaptrade/api/account_information_api.rb +535 -71
- data/lib/snaptrade/api/api_status_api.rb +6 -3
- data/lib/snaptrade/api/authentication_api.rb +180 -140
- data/lib/snaptrade/api/connections_api.rb +401 -41
- data/lib/snaptrade/api/options_api.rb +82 -39
- data/lib/snaptrade/api/reference_data_api.rb +181 -101
- data/lib/snaptrade/api/trading_api.rb +200 -228
- data/lib/snaptrade/api/transactions_and_reporting_api.rb +48 -33
- data/lib/snaptrade/api_client.rb +24 -14
- data/lib/snaptrade/api_error.rb +0 -1
- data/lib/snaptrade/configuration.rb +11 -29
- data/lib/snaptrade/models/account.rb +84 -29
- data/lib/snaptrade/models/account_balance.rb +1 -2
- data/lib/snaptrade/models/account_balance_total.rb +3 -9
- data/lib/snaptrade/models/account_holdings.rb +0 -1
- data/lib/snaptrade/models/account_holdings_account.rb +19 -4
- data/lib/snaptrade/models/account_order_record.rb +52 -33
- data/lib/snaptrade/models/{brokerage_symbol_option_symbol.rb → account_order_record_option_symbol.rb} +15 -27
- data/lib/snaptrade/models/account_order_record_status.rb +0 -1
- data/lib/snaptrade/models/{brokerage_symbol_symbol.rb → account_order_record_universal_symbol.rb} +33 -7
- data/lib/snaptrade/models/account_simple.rb +4 -2
- data/lib/snaptrade/models/account_sync_status.rb +14 -6
- data/lib/snaptrade/models/account_universal_activity.rb +371 -0
- data/lib/snaptrade/models/account_universal_activity_currency.rb +245 -0
- data/lib/snaptrade/models/{target_asset.rb → account_universal_activity_option_symbol.rb} +83 -59
- data/lib/snaptrade/models/{universal_symbol_ticker.rb → account_universal_activity_symbol.rb} +37 -16
- data/lib/snaptrade/models/{trade_action.rb → action_strict.rb} +3 -4
- data/lib/snaptrade/models/{trade_execution_status_action.rb → action_strict_with_options.rb} +8 -5
- data/lib/snaptrade/models/auth_type.rb +0 -1
- data/lib/snaptrade/models/authentication_login_snap_trade_user200_response.rb +0 -1
- data/lib/snaptrade/models/balance.rb +19 -8
- data/lib/snaptrade/models/{model_portfolio.rb → balance_currency.rb} +27 -19
- data/lib/snaptrade/models/brokerage.rb +57 -50
- data/lib/snaptrade/models/brokerage_authorization.rb +24 -21
- data/lib/snaptrade/models/{model_asset_class.rb → brokerage_authorization_disabled_confirmation.rb} +12 -20
- data/lib/snaptrade/models/{jwt.rb → brokerage_authorization_refresh_confirmation.rb} +12 -12
- data/lib/snaptrade/models/brokerage_authorization_type_read_only.rb +1 -2
- data/lib/snaptrade/models/brokerage_authorization_type_read_only_brokerage.rb +2 -3
- data/lib/snaptrade/models/brokerage_type.rb +1 -2
- data/lib/snaptrade/models/connection_portal_version.rb +3 -3
- data/lib/snaptrade/models/connection_type.rb +0 -1
- data/lib/snaptrade/models/connections_session_events200_response_inner.rb +1 -2
- data/lib/snaptrade/models/currency.rb +4 -2
- data/lib/snaptrade/models/delete_user_response.rb +13 -5
- data/lib/snaptrade/models/dividend_at_date.rb +0 -1
- data/lib/snaptrade/models/encrypted_response.rb +0 -1
- data/lib/snaptrade/models/encrypted_response_encrypted_message_data.rb +0 -1
- data/lib/snaptrade/models/exchange.rb +9 -2
- data/lib/snaptrade/models/exchange_rate_pairs.rb +0 -1
- data/lib/snaptrade/models/figi_instrument.rb +230 -0
- data/lib/snaptrade/models/holdings_status.rb +229 -0
- data/lib/snaptrade/models/login_redirect_uri.rb +3 -3
- data/lib/snaptrade/models/manual_trade.rb +10 -6
- data/lib/snaptrade/models/manual_trade_and_impact.rb +2 -3
- data/lib/snaptrade/models/manual_trade_balance.rb +3 -4
- data/lib/snaptrade/models/manual_trade_form.rb +56 -28
- data/lib/snaptrade/models/{model_asset_class_target.rb → manual_trade_form_notional_value.rb} +12 -15
- data/lib/snaptrade/models/{trade.rb → manual_trade_form_with_options.rb} +126 -43
- data/lib/snaptrade/models/{snap_trade_api_disclaimer_accept_status.rb → manual_trade_form_with_options_stop_loss.rb} +24 -18
- data/lib/snaptrade/models/manual_trade_form_with_options_take_profit.rb +223 -0
- data/lib/snaptrade/models/{trade_impact.rb → manual_trade_impact.rb} +20 -17
- data/lib/snaptrade/models/manual_trade_symbol.rb +19 -15
- data/lib/snaptrade/models/model400_failed_request_response.rb +0 -1
- data/lib/snaptrade/models/model401_failed_request_response.rb +0 -1
- data/lib/snaptrade/models/model402_brokerage_auth_already_disabled_exception.rb +228 -0
- data/lib/snaptrade/models/{amount.rb → model402_brokerage_auth_disabled_response.rb} +19 -18
- data/lib/snaptrade/models/model403_failed_request_response.rb +0 -1
- data/lib/snaptrade/models/model403_feature_not_enabled_response.rb +228 -0
- data/lib/snaptrade/models/model404_failed_request_response.rb +0 -1
- data/lib/snaptrade/models/{calculated_trade.rb → model425_failed_request_response.rb} +19 -20
- data/lib/snaptrade/models/model500_unexpected_exception_response.rb +0 -1
- data/lib/snaptrade/models/monthly_dividends.rb +1 -2
- data/lib/snaptrade/models/net_contributions.rb +1 -2
- data/lib/snaptrade/models/net_dividend.rb +0 -1
- data/lib/snaptrade/models/notional_value.rb +103 -0
- data/lib/snaptrade/models/{options_holdings.rb → option_brokerage_symbol.rb} +19 -50
- data/lib/snaptrade/models/option_chain_inner.rb +0 -1
- data/lib/snaptrade/models/option_chain_inner_chain_per_root_inner.rb +0 -1
- data/lib/snaptrade/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner.rb +0 -1
- data/lib/snaptrade/models/option_leg.rb +0 -1
- data/lib/snaptrade/models/option_leg_action.rb +0 -1
- data/lib/snaptrade/models/option_strategy.rb +0 -1
- data/lib/snaptrade/models/option_strategy_legs_inner.rb +0 -1
- data/lib/snaptrade/models/option_type.rb +0 -1
- data/lib/snaptrade/models/options_get_option_strategy_request.rb +0 -1
- data/lib/snaptrade/models/options_place_option_strategy_request.rb +4 -3
- data/lib/snaptrade/models/options_position.rb +20 -20
- data/lib/snaptrade/models/options_position_currency.rb +4 -1
- data/lib/snaptrade/models/options_symbol.rb +12 -25
- data/lib/snaptrade/models/{model_type.rb → order_class.rb} +6 -8
- data/lib/snaptrade/models/{order_type.rb → order_type_strict.rb} +5 -6
- data/lib/snaptrade/models/paginated_universal_activity.rb +228 -0
- data/lib/snaptrade/models/pagination_details.rb +228 -0
- data/lib/snaptrade/models/partner_data.rb +49 -50
- data/lib/snaptrade/models/past_value.rb +1 -2
- data/lib/snaptrade/models/performance_custom.rb +0 -1
- data/lib/snaptrade/models/position.rb +21 -20
- data/lib/snaptrade/models/position_symbol.rb +16 -12
- data/lib/snaptrade/models/{portfolio_group_position.rb → rate_of_return_object.rb} +26 -26
- data/lib/snaptrade/models/{brokerage_authorization_type.rb → rate_of_return_response.rb} +14 -11
- data/lib/snaptrade/models/{strategy_order_place.rb → recent_orders_response.rb} +7 -16
- data/lib/snaptrade/models/security_type.rb +5 -2
- data/lib/snaptrade/models/session_event.rb +1 -2
- data/lib/snaptrade/models/session_event_type.rb +11 -4
- data/lib/snaptrade/models/snap_trade_holdings_account.rb +0 -1
- data/lib/snaptrade/models/snap_trade_holdings_total_value.rb +3 -2
- data/lib/snaptrade/models/snap_trade_login_user_request_body.rb +10 -5
- data/lib/snaptrade/models/snap_trade_register_user_request_body.rb +1 -2
- data/lib/snaptrade/models/status.rb +0 -1
- data/lib/snaptrade/models/stop_loss.rb +227 -0
- data/lib/snaptrade/models/strategy_order_record.rb +5 -3
- data/lib/snaptrade/models/strategy_order_record_status.rb +0 -1
- data/lib/snaptrade/models/strategy_quotes.rb +0 -1
- data/lib/snaptrade/models/strategy_quotes_greek.rb +0 -1
- data/lib/snaptrade/models/strategy_type.rb +0 -1
- data/lib/snaptrade/models/sub_period_return_rate.rb +2 -3
- data/lib/snaptrade/models/symbol.rb +39 -14
- data/lib/snaptrade/models/{portfolio_group.rb → symbol_currency.rb} +24 -5
- data/lib/snaptrade/models/symbol_exchange.rb +296 -0
- data/lib/snaptrade/models/{model_portfolio_security.rb → symbol_figi_instrument.rb} +27 -41
- data/lib/snaptrade/models/symbol_query.rb +1 -2
- data/lib/snaptrade/models/symbols_quotes_inner.rb +15 -11
- data/lib/snaptrade/models/{excluded_asset.rb → take_profit.rb} +11 -12
- data/lib/snaptrade/models/{time_in_force.rb → time_in_force_strict.rb} +5 -6
- data/lib/snaptrade/models/{brokerage_authorization_type_type.rb → timeframe.rb} +9 -7
- data/lib/snaptrade/models/trading_cancel_user_account_order_request.rb +1 -1
- data/lib/snaptrade/models/transactions_status.rb +19 -8
- data/lib/snaptrade/models/type.rb +3 -4
- data/lib/snaptrade/models/underlying_symbol.rb +40 -6
- data/lib/snaptrade/models/{snap_trade_holdings_account_account_id.rb → underlying_symbol_exchange.rb} +55 -54
- data/lib/snaptrade/models/{brokerage_symbol.rb → underlying_symbol_type.rb} +28 -39
- data/lib/snaptrade/models/universal_activity.rb +91 -82
- data/lib/snaptrade/models/universal_symbol.rb +30 -5
- data/lib/snaptrade/models/us_exchange.rb +0 -1
- data/lib/snaptrade/models/user_i_dand_secret.rb +2 -4
- data/lib/snaptrade/models/validated_trade_body.rb +218 -0
- data/lib/snaptrade/version.rb +1 -2
- data/lib/snaptrade.rb +90 -66
- data/snaptrade.gemspec +0 -1
- data/spec/api/account_information_api_spec.rb +66 -13
- data/spec/api/api_status_api_spec.rb +0 -1
- data/spec/api/authentication_api_spec.rb +20 -20
- data/spec/api/connections_api_spec.rb +54 -9
- data/spec/api/options_api_spec.rb +11 -7
- data/spec/api/reference_data_api_spec.rb +24 -16
- data/spec/api/trading_api_spec.rb +17 -25
- data/spec/api/transactions_and_reporting_api_spec.rb +7 -8
- data/spec/api_client_spec.rb +0 -1
- data/spec/configuration_spec.rb +0 -1
- data/spec/models/account_balance_spec.rb +0 -1
- data/spec/models/account_balance_total_spec.rb +0 -1
- data/spec/models/account_holdings_account_spec.rb +6 -1
- data/spec/models/account_holdings_spec.rb +0 -1
- data/spec/models/{strategy_impact_legs_inner_spec.rb → account_order_record_option_symbol_spec.rb} +13 -14
- data/spec/models/account_order_record_spec.rb +12 -7
- data/spec/models/account_order_record_status_spec.rb +0 -1
- data/spec/models/{brokerage_symbol_symbol_spec.rb → account_order_record_universal_symbol_spec.rb} +18 -7
- data/spec/models/account_simple_spec.rb +0 -1
- data/spec/models/account_spec.rb +14 -9
- data/spec/models/account_sync_status_spec.rb +6 -1
- data/spec/models/account_universal_activity_currency_spec.rb +41 -0
- data/spec/models/{brokerage_symbol_option_symbol_spec.rb → account_universal_activity_option_symbol_spec.rb} +6 -19
- data/spec/models/{portfolio_group_info_spec.rb → account_universal_activity_spec.rb} +47 -18
- data/spec/models/{universal_symbol_ticker_spec.rb → account_universal_activity_symbol_spec.rb} +13 -8
- data/spec/models/action_strict_spec.rb +23 -0
- data/spec/models/action_strict_with_options_spec.rb +23 -0
- data/spec/models/auth_type_spec.rb +0 -1
- data/spec/models/authentication_login_snap_trade_user200_response_spec.rb +0 -1
- data/spec/models/{model_portfolio_spec.rb → balance_currency_spec.rb} +8 -9
- data/spec/models/balance_spec.rb +6 -1
- data/spec/models/brokerage_authorization_disabled_confirmation_spec.rb +29 -0
- data/spec/models/{brokerage_authorization_type_spec.rb → brokerage_authorization_refresh_confirmation_spec.rb} +7 -8
- data/spec/models/brokerage_authorization_spec.rb +6 -7
- data/spec/models/brokerage_authorization_type_read_only_brokerage_spec.rb +0 -1
- data/spec/models/brokerage_authorization_type_read_only_spec.rb +0 -1
- data/spec/models/brokerage_spec.rb +12 -19
- data/spec/models/brokerage_type_spec.rb +0 -1
- data/spec/models/connection_portal_version_spec.rb +0 -1
- data/spec/models/connection_type_spec.rb +0 -1
- data/spec/models/connections_session_events200_response_inner_spec.rb +0 -1
- data/spec/models/currency_spec.rb +0 -1
- data/spec/models/delete_user_response_spec.rb +6 -1
- data/spec/models/dividend_at_date_spec.rb +0 -1
- data/spec/models/encrypted_response_encrypted_message_data_spec.rb +0 -1
- data/spec/models/encrypted_response_spec.rb +0 -1
- data/spec/models/exchange_rate_pairs_spec.rb +0 -1
- data/spec/models/exchange_spec.rb +0 -1
- data/spec/models/{portfolio_group_spec.rb → figi_instrument_spec.rb} +8 -9
- data/spec/models/{calculated_trade_spec.rb → holdings_status_spec.rb} +8 -9
- data/spec/models/login_redirect_uri_spec.rb +0 -1
- data/spec/models/manual_trade_and_impact_spec.rb +0 -1
- data/spec/models/manual_trade_balance_spec.rb +0 -1
- data/spec/models/manual_trade_form_notional_value_spec.rb +23 -0
- data/spec/models/manual_trade_form_spec.rb +6 -7
- data/spec/models/{strategy_impact_spec.rb → manual_trade_form_with_options_spec.rb} +29 -18
- data/spec/models/{snap_trade_api_disclaimer_accept_status_spec.rb → manual_trade_form_with_options_stop_loss_spec.rb} +8 -9
- data/spec/models/manual_trade_form_with_options_take_profit_spec.rb +29 -0
- data/spec/models/{trade_impact_spec.rb → manual_trade_impact_spec.rb} +7 -8
- data/spec/models/manual_trade_spec.rb +0 -1
- data/spec/models/manual_trade_symbol_spec.rb +6 -7
- data/spec/models/model400_failed_request_response_spec.rb +0 -1
- data/spec/models/model401_failed_request_response_spec.rb +0 -1
- data/spec/models/model402_brokerage_auth_already_disabled_exception_spec.rb +35 -0
- data/spec/models/model402_brokerage_auth_disabled_response_spec.rb +35 -0
- data/spec/models/model403_failed_request_response_spec.rb +0 -1
- data/spec/models/{model_asset_class_details_spec.rb → model403_feature_not_enabled_response_spec.rb} +8 -9
- data/spec/models/model404_failed_request_response_spec.rb +0 -1
- data/spec/models/model425_failed_request_response_spec.rb +35 -0
- data/spec/models/model500_unexpected_exception_response_spec.rb +0 -1
- data/spec/models/monthly_dividends_spec.rb +0 -1
- data/spec/models/net_contributions_spec.rb +0 -1
- data/spec/models/net_dividend_spec.rb +0 -1
- data/spec/models/notional_value_spec.rb +26 -0
- data/spec/models/{model_portfolio_details_spec.rb → option_brokerage_symbol_spec.rb} +9 -10
- data/spec/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner_spec.rb +0 -1
- data/spec/models/option_chain_inner_chain_per_root_inner_spec.rb +0 -1
- data/spec/models/option_chain_inner_spec.rb +0 -1
- data/spec/models/option_leg_action_spec.rb +0 -1
- data/spec/models/option_leg_spec.rb +0 -1
- data/spec/models/option_strategy_legs_inner_spec.rb +0 -1
- data/spec/models/option_strategy_spec.rb +0 -1
- data/spec/models/option_type_spec.rb +0 -1
- data/spec/models/options_get_option_strategy_request_spec.rb +0 -1
- data/spec/models/options_place_option_strategy_request_spec.rb +0 -1
- data/spec/models/options_position_currency_spec.rb +0 -1
- data/spec/models/options_position_spec.rb +2 -3
- data/spec/models/options_symbol_spec.rb +0 -13
- data/spec/models/order_class_spec.rb +23 -0
- data/spec/models/order_type_strict_spec.rb +23 -0
- data/spec/models/{model_portfolio_asset_class_spec.rb → paginated_universal_activity_spec.rb} +8 -9
- data/spec/models/{model_asset_class_spec.rb → pagination_details_spec.rb} +8 -9
- data/spec/models/partner_data_spec.rb +12 -13
- data/spec/models/past_value_spec.rb +0 -1
- data/spec/models/performance_custom_spec.rb +0 -1
- data/spec/models/position_spec.rb +2 -3
- data/spec/models/position_symbol_spec.rb +3 -4
- data/spec/models/{portfolio_group_position_spec.rb → rate_of_return_object_spec.rb} +9 -10
- data/spec/models/rate_of_return_response_spec.rb +29 -0
- data/spec/models/recent_orders_response_spec.rb +29 -0
- data/spec/models/security_type_spec.rb +0 -1
- data/spec/models/session_event_spec.rb +0 -1
- data/spec/models/session_event_type_spec.rb +0 -1
- data/spec/models/snap_trade_holdings_account_spec.rb +0 -1
- data/spec/models/snap_trade_holdings_total_value_spec.rb +0 -1
- data/spec/models/snap_trade_login_user_request_body_spec.rb +0 -1
- data/spec/models/snap_trade_register_user_request_body_spec.rb +0 -1
- data/spec/models/status_spec.rb +0 -1
- data/spec/models/{amount_spec.rb → stop_loss_spec.rb} +8 -9
- data/spec/models/strategy_order_record_spec.rb +0 -1
- data/spec/models/strategy_order_record_status_spec.rb +0 -1
- data/spec/models/strategy_quotes_greek_spec.rb +0 -1
- data/spec/models/strategy_quotes_spec.rb +0 -1
- data/spec/models/strategy_type_spec.rb +0 -1
- data/spec/models/sub_period_return_rate_spec.rb +0 -1
- data/spec/models/symbol_currency_spec.rb +41 -0
- data/spec/models/{trade_spec.rb → symbol_exchange_spec.rb} +13 -14
- data/spec/models/symbol_figi_instrument_spec.rb +35 -0
- data/spec/models/symbol_query_spec.rb +0 -1
- data/spec/models/symbol_spec.rb +13 -2
- data/spec/models/symbols_quotes_inner_spec.rb +3 -4
- data/spec/models/{jwt_spec.rb → take_profit_spec.rb} +7 -8
- data/spec/models/time_in_force_strict_spec.rb +23 -0
- data/spec/models/timeframe_spec.rb +23 -0
- data/spec/models/trading_cancel_user_account_order_request_spec.rb +0 -1
- data/spec/models/transactions_status_spec.rb +6 -1
- data/spec/models/type_spec.rb +0 -1
- data/spec/models/{snap_trade_holdings_account_account_id_spec.rb → underlying_symbol_exchange_spec.rb} +13 -14
- data/spec/models/underlying_symbol_spec.rb +18 -1
- data/spec/models/{cash_restriction_spec.rb → underlying_symbol_type_spec.rb} +9 -16
- data/spec/models/universal_activity_spec.rb +15 -16
- data/spec/models/universal_symbol_spec.rb +12 -1
- data/spec/models/us_exchange_spec.rb +0 -1
- data/spec/models/user_i_dand_secret_spec.rb +0 -1
- data/spec/models/{excluded_asset_spec.rb → validated_trade_body_spec.rb} +7 -8
- data/spec/spec_helper.rb +0 -1
- metadata +203 -360
- data/docs/APIStatusApi.md +0 -57
- data/docs/Account.md +0 -38
- data/docs/AccountBalance.md +0 -18
- data/docs/AccountBalanceTotal.md +0 -20
- data/docs/AccountHoldings.md +0 -24
- data/docs/AccountHoldingsAccount.md +0 -26
- data/docs/AccountInformationApi.md +0 -544
- data/docs/AccountOrderRecord.md +0 -52
- data/docs/AccountOrderRecordStatus.md +0 -15
- data/docs/AccountSimple.md +0 -24
- data/docs/AccountSyncStatus.md +0 -18
- data/docs/Action.md +0 -15
- data/docs/Amount.md +0 -20
- data/docs/AuthType.md +0 -15
- data/docs/AuthenticationApi.md +0 -320
- data/docs/AuthenticationLoginSnapTradeUser200Response.md +0 -49
- data/docs/Balance.md +0 -20
- data/docs/Brokerage.md +0 -52
- data/docs/BrokerageAuthorization.md +0 -34
- data/docs/BrokerageAuthorizationType.md +0 -18
- data/docs/BrokerageAuthorizationTypeReadOnly.md +0 -24
- data/docs/BrokerageAuthorizationTypeReadOnlyBrokerage.md +0 -22
- data/docs/BrokerageAuthorizationTypeReadOnlyType.md +0 -15
- data/docs/BrokerageAuthorizationTypeType.md +0 -15
- data/docs/BrokerageSymbol.md +0 -28
- data/docs/BrokerageSymbolOptionSymbol.md +0 -34
- data/docs/BrokerageSymbolSymbol.md +0 -32
- data/docs/BrokerageType.md +0 -20
- data/docs/CalculatedTrade.md +0 -20
- data/docs/CashRestriction.md +0 -26
- data/docs/ConnectionPortalVersion.md +0 -15
- data/docs/ConnectionType.md +0 -15
- data/docs/ConnectionsApi.md +0 -265
- data/docs/ConnectionsSessionEvents200ResponseInner.md +0 -30
- data/docs/Currency.md +0 -22
- data/docs/DeleteUserResponse.md +0 -20
- data/docs/DividendAtDate.md +0 -22
- data/docs/EncryptedResponse.md +0 -20
- data/docs/EncryptedResponseEncryptedMessageData.md +0 -22
- data/docs/ErrorLogsApi.md +0 -68
- data/docs/Exchange.md +0 -32
- data/docs/ExchangeRatePairs.md +0 -22
- data/docs/ExcludedAsset.md +0 -18
- data/docs/JWT.md +0 -18
- data/docs/LoginRedirectURI.md +0 -20
- data/docs/ManualTrade.md +0 -32
- data/docs/ManualTradeAndImpact.md +0 -22
- data/docs/ManualTradeBalance.md +0 -22
- data/docs/ManualTradeForm.md +0 -34
- data/docs/ManualTradeSymbol.md +0 -28
- data/docs/Model400FailedRequestResponse.md +0 -20
- data/docs/Model401FailedRequestResponse.md +0 -20
- data/docs/Model403FailedRequestResponse.md +0 -20
- data/docs/Model404FailedRequestResponse.md +0 -20
- data/docs/Model500UnexpectedExceptionResponse.md +0 -22
- data/docs/ModelAssetClass.md +0 -20
- data/docs/ModelAssetClassDetails.md +0 -20
- data/docs/ModelAssetClassTarget.md +0 -18
- data/docs/ModelPortfolio.md +0 -22
- data/docs/ModelPortfolioAssetClass.md +0 -20
- data/docs/ModelPortfolioDetails.md +0 -22
- data/docs/ModelPortfolioSecurity.md +0 -20
- data/docs/ModelType.md +0 -15
- data/docs/MonthlyDividends.md +0 -20
- data/docs/NetContributions.md +0 -22
- data/docs/NetDividend.md +0 -22
- data/docs/OptionChainInner.md +0 -26
- data/docs/OptionChainInnerChainPerRootInner.md +0 -22
- data/docs/OptionChainInnerChainPerRootInnerChainPerStrikePriceInner.md +0 -22
- data/docs/OptionLeg.md +0 -22
- data/docs/OptionLegAction.md +0 -15
- data/docs/OptionStrategy.md +0 -26
- data/docs/OptionStrategyLegsInner.md +0 -24
- data/docs/OptionType.md +0 -15
- data/docs/OptionsApi.md +0 -390
- data/docs/OptionsGetOptionStrategyRequest.md +0 -22
- data/docs/OptionsHoldings.md +0 -28
- data/docs/OptionsPlaceOptionStrategyRequest.md +0 -22
- data/docs/OptionsPosition.md +0 -26
- data/docs/OptionsPositionCurrency.md +0 -22
- data/docs/OptionsSymbol.md +0 -34
- data/docs/OrderType.md +0 -15
- data/docs/PartnerData.md +0 -40
- data/docs/PastValue.md +0 -22
- data/docs/PerformanceCustom.md +0 -54
- data/docs/PortfolioGroup.md +0 -20
- data/docs/PortfolioGroupInfo.md +0 -38
- data/docs/PortfolioGroupPosition.md +0 -22
- data/docs/PortfolioGroupSettings.md +0 -26
- data/docs/Position.md +0 -28
- data/docs/PositionSymbol.md +0 -28
- data/docs/RedirectTokenandPin.md +0 -20
- data/docs/ReferenceDataApi.md +0 -597
- data/docs/SecurityType.md +0 -24
- data/docs/SessionEvent.md +0 -30
- data/docs/SessionEventType.md +0 -15
- data/docs/SnapTradeAPIDisclaimerAcceptStatus.md +0 -20
- data/docs/SnapTradeHoldingsAccount.md +0 -32
- data/docs/SnapTradeHoldingsAccountAccountId.md +0 -34
- data/docs/SnapTradeHoldingsTotalValue.md +0 -20
- data/docs/SnapTradeLoginUserRequestBody.md +0 -28
- data/docs/SnapTradeRegisterUserRequestBody.md +0 -18
- data/docs/State.md +0 -15
- data/docs/Status.md +0 -22
- data/docs/StrategyImpact.md +0 -38
- data/docs/StrategyImpactLegsInner.md +0 -30
- data/docs/StrategyOrderPlace.md +0 -20
- data/docs/StrategyOrderPlaceOrdersInner.md +0 -102
- data/docs/StrategyOrderPlaceOrdersInnerLegsInner.md +0 -30
- data/docs/StrategyOrderRecord.md +0 -38
- data/docs/StrategyOrderRecordStatus.md +0 -15
- data/docs/StrategyQuotes.md +0 -28
- data/docs/StrategyQuotesGreek.md +0 -26
- data/docs/StrategyType.md +0 -15
- data/docs/SubPeriodReturnRate.md +0 -22
- data/docs/Symbol.md +0 -30
- data/docs/SymbolQuery.md +0 -18
- data/docs/SymbolsQuotesInner.md +0 -28
- data/docs/TargetAsset.md +0 -28
- data/docs/TimeInForce.md +0 -15
- data/docs/Trade.md +0 -32
- data/docs/TradeAction.md +0 -15
- data/docs/TradeExecutionStatus.md +0 -34
- data/docs/TradeExecutionStatusAction.md +0 -15
- data/docs/TradeImpact.md +0 -26
- data/docs/TradingApi.md +0 -486
- data/docs/TradingCancelUserAccountOrderRequest.md +0 -18
- data/docs/TradingPlaceOCOOrderRequest.md +0 -20
- data/docs/TransactionsAndReportingApi.md +0 -183
- data/docs/TransactionsStatus.md +0 -20
- data/docs/Type.md +0 -15
- data/docs/USExchange.md +0 -34
- data/docs/UnderlyingSymbol.md +0 -30
- data/docs/UniversalActivity.md +0 -50
- data/docs/UniversalSymbol.md +0 -32
- data/docs/UniversalSymbolTicker.md +0 -32
- data/docs/UserErrorLog.md +0 -28
- data/docs/UserIDandSecret.md +0 -20
- data/docs/UserSettings.md +0 -36
- data/lib/snaptrade/api/error_logs_api.rb +0 -110
- data/lib/snaptrade/models/action.rb +0 -38
- data/lib/snaptrade/models/brokerage_authorization_type_read_only_type.rb +0 -38
- data/lib/snaptrade/models/cash_restriction.rb +0 -254
- data/lib/snaptrade/models/model_asset_class_details.rb +0 -228
- data/lib/snaptrade/models/model_portfolio_asset_class.rb +0 -250
- data/lib/snaptrade/models/model_portfolio_details.rb +0 -239
- data/lib/snaptrade/models/portfolio_group_info.rb +0 -326
- data/lib/snaptrade/models/portfolio_group_settings.rb +0 -277
- data/lib/snaptrade/models/redirect_tokenand_pin.rb +0 -227
- data/lib/snaptrade/models/state.rb +0 -41
- data/lib/snaptrade/models/strategy_impact.rb +0 -310
- data/lib/snaptrade/models/strategy_impact_legs_inner.rb +0 -271
- data/lib/snaptrade/models/strategy_order_place_orders_inner.rb +0 -597
- data/lib/snaptrade/models/strategy_order_place_orders_inner_legs_inner.rb +0 -271
- data/lib/snaptrade/models/trade_execution_status.rb +0 -296
- data/lib/snaptrade/models/trading_place_oco_order_request.rb +0 -230
- data/lib/snaptrade/models/user_error_log.rb +0 -263
- data/lib/snaptrade/models/user_settings.rb +0 -299
- data/spec/api/error_logs_api_spec.rb +0 -43
- data/spec/models/action_spec.rb +0 -24
- data/spec/models/brokerage_authorization_type_read_only_type_spec.rb +0 -24
- data/spec/models/brokerage_authorization_type_type_spec.rb +0 -24
- data/spec/models/brokerage_symbol_spec.rb +0 -60
- data/spec/models/model_asset_class_target_spec.rb +0 -30
- data/spec/models/model_portfolio_security_spec.rb +0 -36
- data/spec/models/model_type_spec.rb +0 -24
- data/spec/models/options_holdings_spec.rb +0 -60
- data/spec/models/order_type_spec.rb +0 -24
- data/spec/models/portfolio_group_settings_spec.rb +0 -54
- data/spec/models/redirect_tokenand_pin_spec.rb +0 -36
- data/spec/models/state_spec.rb +0 -24
- data/spec/models/strategy_order_place_orders_inner_legs_inner_spec.rb +0 -66
- data/spec/models/strategy_order_place_orders_inner_spec.rb +0 -282
- data/spec/models/strategy_order_place_spec.rb +0 -36
- data/spec/models/target_asset_spec.rb +0 -60
- data/spec/models/time_in_force_spec.rb +0 -24
- data/spec/models/trade_action_spec.rb +0 -24
- data/spec/models/trade_execution_status_action_spec.rb +0 -24
- data/spec/models/trade_execution_status_spec.rb +0 -78
- data/spec/models/trading_place_oco_order_request_spec.rb +0 -36
- data/spec/models/user_error_log_spec.rb +0 -60
- data/spec/models/user_settings_spec.rb +0 -84
@@ -5,17 +5,16 @@
|
|
5
5
|
|
6
6
|
The version of the OpenAPI document: 1.0.0
|
7
7
|
Contact: api@snaptrade.com
|
8
|
-
|
9
8
|
=end
|
10
9
|
|
11
10
|
require 'date'
|
12
11
|
require 'time'
|
13
12
|
|
14
13
|
module SnapTrade
|
15
|
-
# Manual Trade and Impact object
|
16
14
|
class ManualTradeAndImpact
|
17
15
|
attr_accessor :trade
|
18
16
|
|
17
|
+
# List of impacts of the trade on the account. The list always contains one value at the moment.
|
19
18
|
attr_accessor :trade_impacts
|
20
19
|
|
21
20
|
attr_accessor :combined_remaining_balance
|
@@ -38,7 +37,7 @@ module SnapTrade
|
|
38
37
|
def self.openapi_types
|
39
38
|
{
|
40
39
|
:'trade' => :'ManualTrade',
|
41
|
-
:'trade_impacts' => :'Array<
|
40
|
+
:'trade_impacts' => :'Array<ManualTradeImpact>',
|
42
41
|
:'combined_remaining_balance' => :'ManualTradeBalance'
|
43
42
|
}
|
44
43
|
end
|
@@ -5,20 +5,19 @@
|
|
5
5
|
|
6
6
|
The version of the OpenAPI document: 1.0.0
|
7
7
|
Contact: api@snaptrade.com
|
8
|
-
|
9
8
|
=end
|
10
9
|
|
11
10
|
require 'date'
|
12
11
|
require 'time'
|
13
12
|
|
14
13
|
module SnapTrade
|
15
|
-
#
|
14
|
+
# Estimated remaining balance of the account after the trade is executed.
|
16
15
|
class ManualTradeBalance
|
17
16
|
attr_accessor :account
|
18
17
|
|
19
18
|
attr_accessor :currency
|
20
19
|
|
21
|
-
#
|
20
|
+
# Estimated amount of cash remaining in the account after the trade. At the moment this is the same as `remaining_cash` under `trade_impacts`.
|
22
21
|
attr_accessor :cash
|
23
22
|
|
24
23
|
# Attribute mapping from ruby-style variable name to JSON key.
|
@@ -38,7 +37,7 @@ module SnapTrade
|
|
38
37
|
# Attribute type mapping.
|
39
38
|
def self.openapi_types
|
40
39
|
{
|
41
|
-
:'account' => :'
|
40
|
+
:'account' => :'AccountSimple',
|
42
41
|
:'currency' => :'Currency',
|
43
42
|
:'cash' => :'Float'
|
44
43
|
}
|
@@ -5,35 +5,37 @@
|
|
5
5
|
|
6
6
|
The version of the OpenAPI document: 1.0.0
|
7
7
|
Contact: api@snaptrade.com
|
8
|
-
|
9
8
|
=end
|
10
9
|
|
11
10
|
require 'date'
|
12
11
|
require 'time'
|
13
12
|
|
14
13
|
module SnapTrade
|
15
|
-
#
|
14
|
+
# Inputs for placing an order with the brokerage.
|
16
15
|
class ManualTradeForm
|
16
|
+
# Unique identifier for the connected brokerage account. This is the UUID used to reference the account in SnapTrade.
|
17
17
|
attr_accessor :account_id
|
18
18
|
|
19
|
+
# The action describes the intent or side of a trade. This is either `BUY` or `SELL`.
|
19
20
|
attr_accessor :action
|
20
21
|
|
22
|
+
# Unique identifier for the symbol within SnapTrade. This is the ID used to reference the symbol in SnapTrade API calls.
|
23
|
+
attr_accessor :universal_symbol_id
|
24
|
+
|
25
|
+
# The type of order to place. - For `Limit` and `StopLimit` orders, the `price` field is required. - For `Stop` and `StopLimit` orders, the `stop` field is required.
|
21
26
|
attr_accessor :order_type
|
22
27
|
|
23
|
-
#
|
28
|
+
# The Time in Force type for the order. This field indicates how long the order will remain active before it is executed or expires. Here are the supported values: - `Day` - Day. The order is valid only for the trading day on which it is placed. - `GTC` - Good Til Canceled. The order is valid until it is executed or canceled. - `FOK` - Fill Or Kill. The order must be executed in its entirety immediately or be canceled completely.
|
29
|
+
attr_accessor :time_in_force
|
30
|
+
|
31
|
+
# The limit price for `Limit` and `StopLimit` orders.
|
24
32
|
attr_accessor :price
|
25
33
|
|
26
|
-
#
|
34
|
+
# The price at which a stop order is triggered for `Stop` and `StopLimit` orders.
|
27
35
|
attr_accessor :stop
|
28
36
|
|
29
|
-
attr_accessor :time_in_force
|
30
|
-
|
31
|
-
# Trade Units. Cannot work with notional value.
|
32
37
|
attr_accessor :units
|
33
38
|
|
34
|
-
attr_accessor :universal_symbol_id
|
35
|
-
|
36
|
-
# Dollar amount to trade. Cannot work with units. Can only work for market order types and day for time in force.
|
37
39
|
attr_accessor :notional_value
|
38
40
|
|
39
41
|
# Attribute mapping from ruby-style variable name to JSON key.
|
@@ -41,12 +43,12 @@ module SnapTrade
|
|
41
43
|
{
|
42
44
|
:'account_id' => :'account_id',
|
43
45
|
:'action' => :'action',
|
46
|
+
:'universal_symbol_id' => :'universal_symbol_id',
|
44
47
|
:'order_type' => :'order_type',
|
48
|
+
:'time_in_force' => :'time_in_force',
|
45
49
|
:'price' => :'price',
|
46
50
|
:'stop' => :'stop',
|
47
|
-
:'time_in_force' => :'time_in_force',
|
48
51
|
:'units' => :'units',
|
49
|
-
:'universal_symbol_id' => :'universal_symbol_id',
|
50
52
|
:'notional_value' => :'notional_value'
|
51
53
|
}
|
52
54
|
end
|
@@ -60,14 +62,14 @@ module SnapTrade
|
|
60
62
|
def self.openapi_types
|
61
63
|
{
|
62
64
|
:'account_id' => :'String',
|
63
|
-
:'action' => :'
|
64
|
-
:'
|
65
|
+
:'action' => :'ActionStrict',
|
66
|
+
:'universal_symbol_id' => :'String',
|
67
|
+
:'order_type' => :'OrderTypeStrict',
|
68
|
+
:'time_in_force' => :'TimeInForceStrict',
|
65
69
|
:'price' => :'Float',
|
66
70
|
:'stop' => :'Float',
|
67
|
-
:'time_in_force' => :'TimeInForce',
|
68
71
|
:'units' => :'Float',
|
69
|
-
:'
|
70
|
-
:'notional_value' => :'Float'
|
72
|
+
:'notional_value' => :'ManualTradeFormNotionalValue'
|
71
73
|
}
|
72
74
|
end
|
73
75
|
|
@@ -76,6 +78,7 @@ module SnapTrade
|
|
76
78
|
Set.new([
|
77
79
|
:'price',
|
78
80
|
:'stop',
|
81
|
+
:'units',
|
79
82
|
:'notional_value'
|
80
83
|
])
|
81
84
|
end
|
@@ -103,10 +106,18 @@ module SnapTrade
|
|
103
106
|
self.action = attributes[:'action']
|
104
107
|
end
|
105
108
|
|
109
|
+
if attributes.key?(:'universal_symbol_id')
|
110
|
+
self.universal_symbol_id = attributes[:'universal_symbol_id']
|
111
|
+
end
|
112
|
+
|
106
113
|
if attributes.key?(:'order_type')
|
107
114
|
self.order_type = attributes[:'order_type']
|
108
115
|
end
|
109
116
|
|
117
|
+
if attributes.key?(:'time_in_force')
|
118
|
+
self.time_in_force = attributes[:'time_in_force']
|
119
|
+
end
|
120
|
+
|
110
121
|
if attributes.key?(:'price')
|
111
122
|
self.price = attributes[:'price']
|
112
123
|
end
|
@@ -115,18 +126,10 @@ module SnapTrade
|
|
115
126
|
self.stop = attributes[:'stop']
|
116
127
|
end
|
117
128
|
|
118
|
-
if attributes.key?(:'time_in_force')
|
119
|
-
self.time_in_force = attributes[:'time_in_force']
|
120
|
-
end
|
121
|
-
|
122
129
|
if attributes.key?(:'units')
|
123
130
|
self.units = attributes[:'units']
|
124
131
|
end
|
125
132
|
|
126
|
-
if attributes.key?(:'universal_symbol_id')
|
127
|
-
self.universal_symbol_id = attributes[:'universal_symbol_id']
|
128
|
-
end
|
129
|
-
|
130
133
|
if attributes.key?(:'notional_value')
|
131
134
|
self.notional_value = attributes[:'notional_value']
|
132
135
|
end
|
@@ -136,12 +139,37 @@ module SnapTrade
|
|
136
139
|
# @return Array for valid properties with the reasons
|
137
140
|
def list_invalid_properties
|
138
141
|
invalid_properties = Array.new
|
142
|
+
if @account_id.nil?
|
143
|
+
invalid_properties.push('invalid value for "account_id", account_id cannot be nil.')
|
144
|
+
end
|
145
|
+
|
146
|
+
if @action.nil?
|
147
|
+
invalid_properties.push('invalid value for "action", action cannot be nil.')
|
148
|
+
end
|
149
|
+
|
150
|
+
if @universal_symbol_id.nil?
|
151
|
+
invalid_properties.push('invalid value for "universal_symbol_id", universal_symbol_id cannot be nil.')
|
152
|
+
end
|
153
|
+
|
154
|
+
if @order_type.nil?
|
155
|
+
invalid_properties.push('invalid value for "order_type", order_type cannot be nil.')
|
156
|
+
end
|
157
|
+
|
158
|
+
if @time_in_force.nil?
|
159
|
+
invalid_properties.push('invalid value for "time_in_force", time_in_force cannot be nil.')
|
160
|
+
end
|
161
|
+
|
139
162
|
invalid_properties
|
140
163
|
end
|
141
164
|
|
142
165
|
# Check to see if the all the properties in the model are valid
|
143
166
|
# @return true if the model is valid
|
144
167
|
def valid?
|
168
|
+
return false if @account_id.nil?
|
169
|
+
return false if @action.nil?
|
170
|
+
return false if @universal_symbol_id.nil?
|
171
|
+
return false if @order_type.nil?
|
172
|
+
return false if @time_in_force.nil?
|
145
173
|
true
|
146
174
|
end
|
147
175
|
|
@@ -152,12 +180,12 @@ module SnapTrade
|
|
152
180
|
self.class == o.class &&
|
153
181
|
account_id == o.account_id &&
|
154
182
|
action == o.action &&
|
183
|
+
universal_symbol_id == o.universal_symbol_id &&
|
155
184
|
order_type == o.order_type &&
|
185
|
+
time_in_force == o.time_in_force &&
|
156
186
|
price == o.price &&
|
157
187
|
stop == o.stop &&
|
158
|
-
time_in_force == o.time_in_force &&
|
159
188
|
units == o.units &&
|
160
|
-
universal_symbol_id == o.universal_symbol_id &&
|
161
189
|
notional_value == o.notional_value
|
162
190
|
end
|
163
191
|
|
@@ -170,7 +198,7 @@ module SnapTrade
|
|
170
198
|
# Calculates hash code according to all attributes.
|
171
199
|
# @return [Integer] Hash code
|
172
200
|
def hash
|
173
|
-
[account_id, action, order_type, price, stop,
|
201
|
+
[account_id, action, universal_symbol_id, order_type, time_in_force, price, stop, units, notional_value].hash
|
174
202
|
end
|
175
203
|
|
176
204
|
# Builds the object from hash
|
data/lib/snaptrade/models/{model_asset_class_target.rb → manual_trade_form_notional_value.rb}
RENAMED
@@ -5,20 +5,16 @@
|
|
5
5
|
|
6
6
|
The version of the OpenAPI document: 1.0.0
|
7
7
|
Contact: api@snaptrade.com
|
8
|
-
|
9
8
|
=end
|
10
9
|
|
11
10
|
require 'date'
|
12
11
|
require 'time'
|
13
12
|
|
14
13
|
module SnapTrade
|
15
|
-
class
|
16
|
-
attr_accessor :symbol
|
17
|
-
|
14
|
+
class ManualTradeFormNotionalValue
|
18
15
|
# Attribute mapping from ruby-style variable name to JSON key.
|
19
16
|
def self.attribute_map
|
20
17
|
{
|
21
|
-
:'symbol' => :'symbol'
|
22
18
|
}
|
23
19
|
end
|
24
20
|
|
@@ -30,7 +26,6 @@ module SnapTrade
|
|
30
26
|
# Attribute type mapping.
|
31
27
|
def self.openapi_types
|
32
28
|
{
|
33
|
-
:'symbol' => :'UniversalSymbol'
|
34
29
|
}
|
35
30
|
end
|
36
31
|
|
@@ -40,24 +35,27 @@ module SnapTrade
|
|
40
35
|
])
|
41
36
|
end
|
42
37
|
|
38
|
+
# List of class defined in allOf (OpenAPI v3)
|
39
|
+
def self.openapi_all_of
|
40
|
+
[
|
41
|
+
:'NotionalValue'
|
42
|
+
]
|
43
|
+
end
|
44
|
+
|
43
45
|
# Initializes the object
|
44
46
|
# @param [Hash] attributes Model attributes in the form of hash
|
45
47
|
def initialize(attributes = {})
|
46
48
|
if (!attributes.is_a?(Hash))
|
47
|
-
fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::
|
49
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::ManualTradeFormNotionalValue` initialize method"
|
48
50
|
end
|
49
51
|
|
50
52
|
# check to see if the attribute exists and convert string to symbol for hash key
|
51
53
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
52
54
|
if (!self.class.attribute_map.key?(k.to_sym))
|
53
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::
|
55
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::ManualTradeFormNotionalValue`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
54
56
|
end
|
55
57
|
h[k.to_sym] = v
|
56
58
|
}
|
57
|
-
|
58
|
-
if attributes.key?(:'symbol')
|
59
|
-
self.symbol = attributes[:'symbol']
|
60
|
-
end
|
61
59
|
end
|
62
60
|
|
63
61
|
# Show invalid properties with the reasons. Usually used together with valid?
|
@@ -77,8 +75,7 @@ module SnapTrade
|
|
77
75
|
# @param [Object] Object to be compared
|
78
76
|
def ==(o)
|
79
77
|
return true if self.equal?(o)
|
80
|
-
self.class == o.class
|
81
|
-
symbol == o.symbol
|
78
|
+
self.class == o.class
|
82
79
|
end
|
83
80
|
|
84
81
|
# @see the `==` method
|
@@ -90,7 +87,7 @@ module SnapTrade
|
|
90
87
|
# Calculates hash code according to all attributes.
|
91
88
|
# @return [Integer] Hash code
|
92
89
|
def hash
|
93
|
-
[
|
90
|
+
[].hash
|
94
91
|
end
|
95
92
|
|
96
93
|
# Builds the object from hash
|
@@ -5,42 +5,66 @@
|
|
5
5
|
|
6
6
|
The version of the OpenAPI document: 1.0.0
|
7
7
|
Contact: api@snaptrade.com
|
8
|
-
|
9
8
|
=end
|
10
9
|
|
11
10
|
require 'date'
|
12
11
|
require 'time'
|
13
12
|
|
14
13
|
module SnapTrade
|
15
|
-
#
|
16
|
-
class
|
17
|
-
|
14
|
+
# Inputs for placing an order with the brokerage.
|
15
|
+
class ManualTradeFormWithOptions
|
16
|
+
# Unique identifier for the connected brokerage account. This is the UUID used to reference the account in SnapTrade.
|
17
|
+
attr_accessor :account_id
|
18
|
+
|
19
|
+
# The action describes the intent or side of a trade. This is either `BUY` or `SELL` for Equity symbols or `BUY_TO_OPEN`, `BUY_TO_CLOSE`, `SELL_TO_OPEN` or `SELL_TO_CLOSE` for Options.
|
20
|
+
attr_accessor :action
|
18
21
|
|
19
|
-
|
22
|
+
# The universal symbol ID of the security to trade. Must be 'null' if `symbol` is provided, otherwise must be provided.
|
23
|
+
attr_accessor :universal_symbol_id
|
20
24
|
|
25
|
+
# The security's trading ticker symbol. This currently only support Options symbols in the 21 character OCC format. For example \"AAPL 131124C00240000\" represents a call option on AAPL expiring on 2024-11-13 with a strike price of $240. For more information on the OCC format, see [here](https://en.wikipedia.org/wiki/Option_symbol#OCC_format). If 'symbol' is provided, then 'universal_symbol_id' must be 'null'.
|
21
26
|
attr_accessor :symbol
|
22
27
|
|
23
|
-
|
28
|
+
# The type of order to place. - For `Limit` and `StopLimit` orders, the `price` field is required. - For `Stop` and `StopLimit` orders, the `stop` field is required.
|
29
|
+
attr_accessor :order_type
|
24
30
|
|
25
|
-
|
31
|
+
# The Time in Force type for the order. This field indicates how long the order will remain active before it is executed or expires. Here are the supported values: - `Day` - Day. The order is valid only for the trading day on which it is placed. - `GTC` - Good Til Canceled. The order is valid until it is executed or canceled. - `FOK` - Fill Or Kill. The order must be executed in its entirety immediately or be canceled completely.
|
32
|
+
attr_accessor :time_in_force
|
33
|
+
|
34
|
+
# The limit price for `Limit` and `StopLimit` orders.
|
35
|
+
attr_accessor :price
|
26
36
|
|
37
|
+
# The price at which a stop order is triggered for `Stop` and `StopLimit` orders.
|
38
|
+
attr_accessor :stop
|
39
|
+
|
40
|
+
# For Equity orders, this represents the number of shares for the order. This can be a decimal for fractional orders. Must be `null` if `notional_value` is provided. If placing an Option order, this field represents the number of contracts to buy or sell. (e.g., 1 contract = 100 shares).
|
27
41
|
attr_accessor :units
|
28
42
|
|
29
|
-
attr_accessor :
|
43
|
+
attr_accessor :notional_value
|
44
|
+
|
45
|
+
# The class of order intended to be placed. Defaults to SIMPLE for regular, one legged trades. Set to BRACKET if looking to place a bracket (One-triggers-a-one-cancels-the-other) order, then specify take profit and stop loss conditions. Bracket orders currently only supported on Alpaca, Tradier, and Tradestation, contact us for more details
|
46
|
+
attr_accessor :order_class
|
30
47
|
|
31
|
-
attr_accessor :
|
48
|
+
attr_accessor :stop_loss
|
49
|
+
|
50
|
+
attr_accessor :take_profit
|
32
51
|
|
33
52
|
# Attribute mapping from ruby-style variable name to JSON key.
|
34
53
|
def self.attribute_map
|
35
54
|
{
|
36
|
-
:'
|
37
|
-
:'account' => :'account',
|
38
|
-
:'symbol' => :'symbol',
|
39
|
-
:'universal_symbol' => :'universal_symbol',
|
55
|
+
:'account_id' => :'account_id',
|
40
56
|
:'action' => :'action',
|
41
|
-
:'
|
57
|
+
:'universal_symbol_id' => :'universal_symbol_id',
|
58
|
+
:'symbol' => :'symbol',
|
59
|
+
:'order_type' => :'order_type',
|
60
|
+
:'time_in_force' => :'time_in_force',
|
42
61
|
:'price' => :'price',
|
43
|
-
:'
|
62
|
+
:'stop' => :'stop',
|
63
|
+
:'units' => :'units',
|
64
|
+
:'notional_value' => :'notional_value',
|
65
|
+
:'order_class' => :'order_class',
|
66
|
+
:'stop_loss' => :'stop_loss',
|
67
|
+
:'take_profit' => :'take_profit'
|
44
68
|
}
|
45
69
|
end
|
46
70
|
|
@@ -52,20 +76,34 @@ module SnapTrade
|
|
52
76
|
# Attribute type mapping.
|
53
77
|
def self.openapi_types
|
54
78
|
{
|
55
|
-
:'
|
56
|
-
:'
|
57
|
-
:'
|
58
|
-
:'
|
59
|
-
:'
|
60
|
-
:'
|
79
|
+
:'account_id' => :'String',
|
80
|
+
:'action' => :'ActionStrictWithOptions',
|
81
|
+
:'universal_symbol_id' => :'String',
|
82
|
+
:'symbol' => :'String',
|
83
|
+
:'order_type' => :'OrderTypeStrict',
|
84
|
+
:'time_in_force' => :'TimeInForceStrict',
|
61
85
|
:'price' => :'Float',
|
62
|
-
:'
|
86
|
+
:'stop' => :'Float',
|
87
|
+
:'units' => :'Float',
|
88
|
+
:'notional_value' => :'ManualTradeFormNotionalValue',
|
89
|
+
:'order_class' => :'OrderClass',
|
90
|
+
:'stop_loss' => :'ManualTradeFormWithOptionsStopLoss',
|
91
|
+
:'take_profit' => :'ManualTradeFormWithOptionsTakeProfit'
|
63
92
|
}
|
64
93
|
end
|
65
94
|
|
66
95
|
# List of attributes with nullable: true
|
67
96
|
def self.openapi_nullable
|
68
97
|
Set.new([
|
98
|
+
:'universal_symbol_id',
|
99
|
+
:'symbol',
|
100
|
+
:'price',
|
101
|
+
:'stop',
|
102
|
+
:'units',
|
103
|
+
:'notional_value',
|
104
|
+
:'order_class',
|
105
|
+
:'stop_loss',
|
106
|
+
:'take_profit'
|
69
107
|
])
|
70
108
|
end
|
71
109
|
|
@@ -73,47 +111,67 @@ module SnapTrade
|
|
73
111
|
# @param [Hash] attributes Model attributes in the form of hash
|
74
112
|
def initialize(attributes = {})
|
75
113
|
if (!attributes.is_a?(Hash))
|
76
|
-
fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::
|
114
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::ManualTradeFormWithOptions` initialize method"
|
77
115
|
end
|
78
116
|
|
79
117
|
# check to see if the attribute exists and convert string to symbol for hash key
|
80
118
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
81
119
|
if (!self.class.attribute_map.key?(k.to_sym))
|
82
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::
|
120
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::ManualTradeFormWithOptions`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
83
121
|
end
|
84
122
|
h[k.to_sym] = v
|
85
123
|
}
|
86
124
|
|
87
|
-
if attributes.key?(:'
|
88
|
-
self.
|
125
|
+
if attributes.key?(:'account_id')
|
126
|
+
self.account_id = attributes[:'account_id']
|
89
127
|
end
|
90
128
|
|
91
|
-
if attributes.key?(:'
|
92
|
-
self.
|
129
|
+
if attributes.key?(:'action')
|
130
|
+
self.action = attributes[:'action']
|
131
|
+
end
|
132
|
+
|
133
|
+
if attributes.key?(:'universal_symbol_id')
|
134
|
+
self.universal_symbol_id = attributes[:'universal_symbol_id']
|
93
135
|
end
|
94
136
|
|
95
137
|
if attributes.key?(:'symbol')
|
96
138
|
self.symbol = attributes[:'symbol']
|
97
139
|
end
|
98
140
|
|
99
|
-
if attributes.key?(:'
|
100
|
-
self.
|
141
|
+
if attributes.key?(:'order_type')
|
142
|
+
self.order_type = attributes[:'order_type']
|
101
143
|
end
|
102
144
|
|
103
|
-
if attributes.key?(:'
|
104
|
-
self.
|
145
|
+
if attributes.key?(:'time_in_force')
|
146
|
+
self.time_in_force = attributes[:'time_in_force']
|
147
|
+
end
|
148
|
+
|
149
|
+
if attributes.key?(:'price')
|
150
|
+
self.price = attributes[:'price']
|
151
|
+
end
|
152
|
+
|
153
|
+
if attributes.key?(:'stop')
|
154
|
+
self.stop = attributes[:'stop']
|
105
155
|
end
|
106
156
|
|
107
157
|
if attributes.key?(:'units')
|
108
158
|
self.units = attributes[:'units']
|
109
159
|
end
|
110
160
|
|
111
|
-
if attributes.key?(:'
|
112
|
-
self.
|
161
|
+
if attributes.key?(:'notional_value')
|
162
|
+
self.notional_value = attributes[:'notional_value']
|
113
163
|
end
|
114
164
|
|
115
|
-
if attributes.key?(:'
|
116
|
-
self.
|
165
|
+
if attributes.key?(:'order_class')
|
166
|
+
self.order_class = attributes[:'order_class']
|
167
|
+
end
|
168
|
+
|
169
|
+
if attributes.key?(:'stop_loss')
|
170
|
+
self.stop_loss = attributes[:'stop_loss']
|
171
|
+
end
|
172
|
+
|
173
|
+
if attributes.key?(:'take_profit')
|
174
|
+
self.take_profit = attributes[:'take_profit']
|
117
175
|
end
|
118
176
|
end
|
119
177
|
|
@@ -121,12 +179,32 @@ module SnapTrade
|
|
121
179
|
# @return Array for valid properties with the reasons
|
122
180
|
def list_invalid_properties
|
123
181
|
invalid_properties = Array.new
|
182
|
+
if @account_id.nil?
|
183
|
+
invalid_properties.push('invalid value for "account_id", account_id cannot be nil.')
|
184
|
+
end
|
185
|
+
|
186
|
+
if @action.nil?
|
187
|
+
invalid_properties.push('invalid value for "action", action cannot be nil.')
|
188
|
+
end
|
189
|
+
|
190
|
+
if @order_type.nil?
|
191
|
+
invalid_properties.push('invalid value for "order_type", order_type cannot be nil.')
|
192
|
+
end
|
193
|
+
|
194
|
+
if @time_in_force.nil?
|
195
|
+
invalid_properties.push('invalid value for "time_in_force", time_in_force cannot be nil.')
|
196
|
+
end
|
197
|
+
|
124
198
|
invalid_properties
|
125
199
|
end
|
126
200
|
|
127
201
|
# Check to see if the all the properties in the model are valid
|
128
202
|
# @return true if the model is valid
|
129
203
|
def valid?
|
204
|
+
return false if @account_id.nil?
|
205
|
+
return false if @action.nil?
|
206
|
+
return false if @order_type.nil?
|
207
|
+
return false if @time_in_force.nil?
|
130
208
|
true
|
131
209
|
end
|
132
210
|
|
@@ -135,14 +213,19 @@ module SnapTrade
|
|
135
213
|
def ==(o)
|
136
214
|
return true if self.equal?(o)
|
137
215
|
self.class == o.class &&
|
138
|
-
|
139
|
-
account == o.account &&
|
140
|
-
symbol == o.symbol &&
|
141
|
-
universal_symbol == o.universal_symbol &&
|
216
|
+
account_id == o.account_id &&
|
142
217
|
action == o.action &&
|
143
|
-
|
218
|
+
universal_symbol_id == o.universal_symbol_id &&
|
219
|
+
symbol == o.symbol &&
|
220
|
+
order_type == o.order_type &&
|
221
|
+
time_in_force == o.time_in_force &&
|
144
222
|
price == o.price &&
|
145
|
-
|
223
|
+
stop == o.stop &&
|
224
|
+
units == o.units &&
|
225
|
+
notional_value == o.notional_value &&
|
226
|
+
order_class == o.order_class &&
|
227
|
+
stop_loss == o.stop_loss &&
|
228
|
+
take_profit == o.take_profit
|
146
229
|
end
|
147
230
|
|
148
231
|
# @see the `==` method
|
@@ -154,7 +237,7 @@ module SnapTrade
|
|
154
237
|
# Calculates hash code according to all attributes.
|
155
238
|
# @return [Integer] Hash code
|
156
239
|
def hash
|
157
|
-
[
|
240
|
+
[account_id, action, universal_symbol_id, symbol, order_type, time_in_force, price, stop, units, notional_value, order_class, stop_loss, take_profit].hash
|
158
241
|
end
|
159
242
|
|
160
243
|
# Builds the object from hash
|