Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
panyam authored Jun 6, 2022
1 parent daf6649 commit 9ccde06
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
## TDProxy

A golang server that provides an auth and API proxy to the TD Ameritrade developer api.

Why is this needed?

Developers using the TDA Dev API are faced with the following constraints:

* Limited to a single auth. A usecase for me was to have multiple friends leverage the API with their own auth-tokens without the need for managing their own clients to TDA and setting up their own callback endpoints (for oauth2).
* No caching. When trying out different strategies, instruments need to be fetched from TDA but these do not need to be upto date. Different caching and timeout mechanisms need to be reimplemented. This proxy hides all that way and provides timeout SLOs transparently to the developer.
* Lack of persistence. With trades and strategies modelled, the proxy also provides persistence of the trades into a DB that can be queried and ordered based on developer/modeller needs.
* Seperate Streaming API. TDA also provides a streaming API however that is hard to work with and needs other customer services. This proxy ensures (in development) a consistent interface to the streaming protocol so that the instruments (Options, Stock prices etc) have the same semantics (including caching).

## Dev Setup

Expand Down

0 comments on commit 9ccde06

Please sign in to comment.