Skip to content

Latest commit

 

History

History

InvestGuruPrototype1

InvestGuru Prototype 1

Demonstration of using AWS Lambda, AppSync, and DynamoDB for an algorithmic trading system demonstration. Using the Serverless Framework here to provision the solution in AWS.

I wrote a blog series around this experiment:

Tools needed

Local development

Node.js runtime

This project expects you to be using nvm for managing your Node.js runtimes.

nvm use
# If the correct Node.js runtime is not setup...
nvm install $(cat .nvmrc)

yarn install

Python 3.7

This project expects you to be using pyenv for managing your Python runtimes.

pyenv install 3.7.2
pyenv local 3.7.2

pip install virtualenvwrapper

mkvirtualenv InvestGuruPrototype1

workon InvestGuruPrototype1

Alpha Vantage integration

This solution uses the Alpha Vantage APIs for investment data and analytics. A free API key can be obtained from Alpha Vantage by filling out this form. Copy the generated API key and paste it into a text file named .alphavantage in the root directory of this experiment project (not the root of the git repository). I have added an entry to the .gitignore file to exclude this hidden file from being version controlled.

Deploying to AWS

  1. Create an InvestGuruAdmin IAM user with admin privileges. Copy the Access Key ID and Secret Access Key for the next step.

  2. Create the InvestGuruAdmin named profile in your AWS credentials file (~/.aws/credentials) with the associated Access Key ID and Secret Access Key.

  3. Deploy solution to AWS...

    yarn deploy-dev

Undeploying the solution from AWS

Once you have finished tinkering with the solution in our AWS environment, you can conveniently remove it from your AWS environment:

```bash
yarn undeploy-dev
```