Graeme22 / tastyworks-cli

Easy to use command line interface for Tastyworks!
MIT License
15 stars 2 forks source link

Futures/equity/crypto command formatting #6

Open Graeme22 opened 3 years ago

Graeme22 commented 3 years ago

Based on the formatting from #4, it seems reasonable to have tw long and tw short be the base commands behind opening trades (I was thinking we could have something a bit simpler for closing trades.)

Example for futures: tw long future /SM75 (market order for long /SM75 at mid price, defaults to current month with options to change month/price. # of contracts defaults to 1, for more do tw long future /SM75 5)

Equities/ETFs: tw short stock SPY 22 (market order shorting 22 shares of SPY, options to change price)

Crypto: tw long crypto ETH:US 0.1 (market order buying 0.1 units ETH, options to specify price or a dollar amount to buy)

This does beg the question of how/if we'll support pairs trades, but I think we can hold off on that.

def-mycroft commented 3 years ago

this is kind of a minor thing but I think its worth mentioning - the term "short" isn't accurate in futures and options, "short" implies borrowing shares.

what about just "sell" or "buy", or maybe something like "sto/stc bto/btc"?

Graeme22 commented 3 years ago

I know it's not technically accurate, but the usage of the terms is pretty widespread. Using buy or sell makes sense as well of course. I'd imagine most Tastytraders are educated enough that neither would pose a problem.

def-mycroft commented 3 years ago

I lean toward just "buy" or "sell"... most simple, makes no assumptions.

"short" would require looking up the account's current positioning, vs "sell", right? I guess that might not matter very much but does add some complexity that might not be necessary.

On Tue, Mar 30, 2021 at 5:22 PM Graeme Holliday @.***> wrote:

I know it's not technically accurate, but the usage of the terms is pretty widespread. Using buy or sell makes sense as well of course. I'd imagine most Tastytraders are educated enough that neither would pose a problem.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Graeme22/tastyworks-cli/issues/6#issuecomment-810617693, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEY7CLDBQPXG2ZZR6WDKTQDTGJFKPANCNFSM4ZYBC42Q .

-- Joseph Dasenbrock

Graeme22 commented 3 years ago

I'm ok with that, I'd be interested to hear another opinion though.

Re: looking up positioning. Not sure what you mean.

def-mycroft commented 3 years ago

if the command were "short" instead of "sell", then you'd have to have the context of the account's positioning to determine whether that command works or not, i.e. you couldn't "sell" without having first a long position (under the paradigm where there are "short" and "sell" commands that are different).

On Tue, Mar 30, 2021 at 6:06 PM Graeme Holliday @.***> wrote:

I'm ok with that, I'd be interested to hear another opinion though.

Re: looking up positioning. Not sure what you mean.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Graeme22/tastyworks-cli/issues/6#issuecomment-810635438, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEY7CLFB2QN3MPQNS3NGKSTTGJKOVANCNFSM4ZYBC42Q .

-- Joseph Dasenbrock

Graeme22 commented 3 years ago

I see. I wonder if closing trades could be simplified though. Then we could handle them with the portfolio command or something rather than having to place the opposite position to close out.

j-estr commented 3 years ago

I see. I wonder if closing trades could be simplified though. Then we could handle them with the portfolio command or something rather than having to place the opposite position to close out.

Personally, I'd model commands as close to a deal ticket as possible, for consistency's sake.

this is kind of a minor thing but I think its worth mentioning - the term "short" isn't accurate in futures and options, "short" implies borrowing shares.

If I recall correctly, I'm fairly certain that using the term "short" for derivatives is fine. Mechanically, being "short" is just when an asset is sold before it is bought. While for shares it requires borrowing and lending because there are a finite number of them, options and futures contracts aren't issued, they're created and destroyed.

Graeme22 commented 3 years ago

Personally, I'd model commands as close to a deal ticket as possible, for consistency's sake.

I agree, I'm just saying we could add shorthand for closing positions so you don't have to type the corresponding closing trade fully out.

this is kind of a minor thing but I think its worth mentioning - the term "short" isn't accurate in futures and options, "short" implies borrowing shares.

If I recall correctly, I'm fairly certain that using the term "short" for derivatives is fine. Mechanically, being "short" is just when an asset is sold before it is bought. While for shares it requires borrowing and lending because there are a finite number of them, options and futures contracts aren't issued, they're created and destroyed.

Accuracy aside, in my experience options traders use the long/short lingo more than buy/sell, so that's a pretty compelling reason by itself.

Graeme22 commented 3 years ago

We could actually just use them interchangeably and let people choose whether to use long/buy or short/sell.

Graeme22 commented 3 years ago

What about something like this: tw future +4 /SM75 tw crypto -0.2 ETH/USD