Alpa.Trading.Positions (AlpaEx v1.0.3)
View SourcePosition operations for the Alpaca Trading API.
Summary
Functions
Close a position by symbol or asset ID.
Close all open positions.
Decline to exercise an options position.
Exercise an options position.
Get a specific position by symbol or asset ID.
Get all open positions.
Functions
@spec close( String.t(), keyword() ) :: {:ok, Alpa.Models.Order.t() | :deleted} | {:error, Alpa.Error.t()}
Close a position by symbol or asset ID.
Options
:qty- Number of shares to close (partial close):percentage- Percentage of position to close (0-100)
If neither is specified, closes the entire position.
Examples
# Close entire position
iex> Alpa.Trading.Positions.close("AAPL")
{:ok, %Alpa.Models.Order{...}}
# Close 50% of position
iex> Alpa.Trading.Positions.close("AAPL", percentage: 50)
{:ok, %Alpa.Models.Order{...}}
# Close 10 shares
iex> Alpa.Trading.Positions.close("AAPL", qty: 10)
{:ok, %Alpa.Models.Order{...}}
@spec close_all(keyword()) :: {:ok, [map()]} | {:error, Alpa.Error.t()}
Close all open positions.
Options
:cancel_orders- Also cancel all open orders (boolean, default: false)
Examples
iex> Alpa.Trading.Positions.close_all()
{:ok, [%{"symbol" => "AAPL", "status" => 200, "body" => %{...}}, ...]}
@spec do_not_exercise( String.t(), keyword() ) :: {:ok, any()} | {:error, Alpa.Error.t()}
Decline to exercise an options position.
Examples
iex> Alpa.Trading.Positions.do_not_exercise("AAPL240315C00175000")
{:ok, :declined}
@spec exercise( String.t(), keyword() ) :: {:ok, any()} | {:error, Alpa.Error.t()}
Exercise an options position.
Examples
iex> Alpa.Trading.Positions.exercise("AAPL240315C00175000")
{:ok, :exercised}
@spec get( String.t(), keyword() ) :: {:ok, Alpa.Models.Position.t()} | {:error, Alpa.Error.t()}
Get a specific position by symbol or asset ID.
Examples
iex> Alpa.Trading.Positions.get("AAPL")
{:ok, %Alpa.Models.Position{...}}
@spec list(keyword()) :: {:ok, [Alpa.Models.Position.t()]} | {:error, Alpa.Error.t()}
Get all open positions.
Examples
iex> Alpa.Trading.Positions.list()
{:ok, [%Alpa.Models.Position{...}]}