Hi guys, I am new in algorithm trading with some experience in web dev. Is there anyone could tell me if there is any price data provider who document their api? Activetick just gives you a compiled .jar file or .dylib file with docs about its usage. Can't we just create http connection to its data server directly?
This question makes no sense since it appears they do provide the docs. Is there something wrong with their docs ?
@hardywu Protocol for ActiveTick's API is proprietary, and the only way to access the data would be by implementing the API. Our software SDKs do come with API docs, as well as example apps with complete source code that can be used as a starting point. The easiest API to implement would probably be ActiveTick's HTTP API because it's really language-neutral. For this API you would need to run a small binary that wraps the complexity of API in a simple HTTP GET request with text CSV responses. Here are some examples of kinds of requests and responses it supports: Request examples quoteData symbol [SYM1+SYM2+ ... + SYMn] field [Field1+Field2+ ... + Fieldn] http://localhost:5000/quoteData?symbol=GOOG+AAPL&field=4+10+11 quoteStream symbol [SYM1+SYM2+ ... + SYMn] http://localhost:5000/quoteStream?symbol=GOOG+AAPL barData symbol SYMBOL historyType 0=Intrday, 1=Daily, 2=Weekly intradayMinutes 1-60 beginTime YYYYMMDDHHMMSS endTime YYYYMMDDHHMMSS http://localhost:5000/barData?symbo...ginTime=20101103093000&endTime=20101103160000 tickData symbol SYMBOL trades 1=select, 0=skip quotes 1=select, 0=skip beginTime YYYYMMDDHHMMSSmmm endTime YYYYMMDDHHMMSSmmm http://localhost:5000/tickData?symb...ginTime=20101103153000&endTime=20101103160000 Response examples request: http://localhost:5000/barData?symbo...ginTime=20101101093000&endTime=20101103160000 response: 20101101093000,26.880000,26.900000,26.860000,26.890000,1175094 20101101093100,26.890000,26.910000,26.870000,26.870000,283043 20101101093200,26.880000,26.900000,26.870000,26.900000,179128 20101101093300,26.892500,26.900000,26.850000,26.850000,346005 20101101093400,26.858000,26.880000,26.850000,26.870000,200785 20101101093500,26.870000,26.880000,26.810000,26.810000,465517 request: http://localhost:5000/tickData?symb...ginTime=20120803153000&endTime=20120803160000 response: Q,20120803153000133,616.540000,616.630000,2,1,B,Q,0 Q,20120803153000552,616.540000,616.630000,1,1,J,Q,0 Q,20120803153000557,616.540000,616.630000,1,2,J,B,0 Q,20120803153000697,616.540000,616.630000,1,1,J,Y,0 Q,20120803153000697,616.540000,616.600000,1,1,J,B,0 Q,20120803153000697,616.540000,616.600000,1,1,J,Y,0 Take a look at attached ActiveTick HTTP API Quick Starter Guide for more information about HTTP API.
@syswizard Yes there is also ActiveTick COM API, which can be used with .Net languages, such as C#. Docs are provided with the SDK itself, which also contains an example C# app.
I should rephrase my question. I just does not understand why there is no docs about connecting to their data server directly.
I see. thanks @activetick . Is there any special reason to use a special protocol connection other than normal https connection?
@hardywu The API is proprietary in nature, it is not an HTTPS API. It uses custom encryption, various stream compression techniques, fault tolerance, etc. It would be a lot of work to just get authenticated and send a request to the server if someone were to implement the protocol by from scratch by hand. That's why we provide various API SDKs that already do this heavy lifting for you.
I have a question about the tick-level data. Currently you do not have a tick aggregation feature to create tick bars...so I must create one myself. Can I assume no two ticks have the exact same timestamp ? Is your timestamp at the millisecond or microsecond level of detail ?