kdb: It is tested with KDB+ 4.0. For license and download visit at https://www.kx.com
EODHistoryData: This project uses https://eodhistoricaldata.com/ to get option and trae data. The key used is for free uses of single ticker AAPL. However, one can use any ticker provided key is upated mentioned in fecthOption.q Ag-Gid: This is one of great API for table and graph and more can be learnt at https://www.ag-grid.com/, for this project ag-grid community addition is used.
- cd ~; git clone <project_root>
- cd ~/ticktrackerkdb/src/kdbchannel/q
- ./startQ.sh
- cd ~/ticktrackerkdb/
- sudo npm install Below are acceptable warnings
npm WARN [email protected] requires a peer of react@^16.3.0 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of react-dom@^16.3.0 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of react@^16.3.0 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of react-dom@^16.3.0 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/watchpack-chokidar2/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/webpack-dev-server/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
- sudo npm start Save the output showing url. For example Compiled successfully!
You can now view ticktrackerkdb in the browser.
Local: http://localhost:3000 On Your Network: http://<your_ip_address>:3000
- Point your browser to the url is previous step
- If this is your first time, you need to build table by running script at ~/ticktrackerkdb/src/kdbchannel/q/fetchEOD/crontab.txt . See below for inline export SSL_VERIFY_SERVER=NO;/home/$USER/q/l64/q /home/$USER/kxblogs/fetchOption.q -rootdir "/home/$USER/db" > /tmp/fetchOption.q.log 2>&1 Upon successful run, it should build Option and trade related few tables. Install crontab from ~/ticktrackerkdb/src/kdbchannel/q/fetchEOD/crontab.txt for sunsequent runs and data collection
- The drop down will have Dated Date, Ticker and expiration date populated and show table. You shold also see graph showing volatility changes with strike as below
- After few run of days, you can select a particular dated date and see change in IVOL (Implied Volatility) for each expiration to build and track your expectation for price movement of your ticker.
- Add methodolgy to calculate IVOL based on trade history
- EODHistory may have outliers and need cleansing.
For websocket and its integration with ReactJS has be referred at white page/kx blog referred is from link https://kx.com/blog/single-page-applications-and-kdb-react/. This is an excellent work and I am following pattern of funcs.js, start.q and main.q