Inspiration

The inspiration behind Porygon comes from our own personal experiences with learning how to trade. We found the process to be very convoluted and the tools available to be too bloated for a beginner starting out. Analysing charts and determining when to place orders is overwhelming and a lot of the rules could be applied programmatically.

We created Porygon as a playground for learning how to create trading strategies, test using historical data and automate without burning our wallets.

Our vision is to level the playing field and make trading more accessible to everyone.

What it does

  1. Users can create trading strategies using technical indicators.
  2. Backtest using historical data to see how accurate a strategy would have predicted actual results.
  3. Paper trade to practice buying and selling stocks without risking real money (trading automation in development).

How we built it

  • Database uses MongoDB Atlas for storing user data, strategies, indicators and backtest results and Mongoose for schema management.
  • Frontend is built in React.
  • Backend is built in Node using Hapi with the following endpoints available:
    • [POST] Create a new user
    • [GET] account
    • [GET] orders
    • [DELETE] orders
    • [POST] an orders
    • [GET] positions
    • [GET] stocks
    • [GET] stock chart
    • [GET] indicators
    • [GET] strategies
    • [PUT] Update strategies
    • [DELETE] strategies
    • [POST] Execute backtest strategy
    • [GET] backtest results
  • The magic The "Porygon engine" responsible for backtesting and risk analytics is written in Python and communicates with the node backend using GRPC.
  • Hosting Frontend is hosted on Netlify and Backend is hosted on AWS.

About the team

Samantha and Luannie are both colleagues working in two sister startups in Melbourne, Australia. Outside of work, you can find the dynamic duo and partner in crimes dabbling in new technologies and hustling on side projects together under the alias Shooting Unicorns.

Challenges we ran into

From a front end perspective, building a dynamic form where the fields are determined by indicator input parameters and rules was quite challenging. However, the biggest challenges are actually non-technical, where we had to learn how to evaluate the results produced by each technical indicator and how to create buy and sell signals. We also put thought into Porygon's design with consideration around onboarding and how we could make it intuitive for new traders to use.

Accomplishments that we're proud of

We've been hacking on Porygon full time over the weekend and every night for the hackathon! We're extremely proud of the amount of work delivered in such a short amount of time and we can't wait to continue developing this idea post hackathon.

What we learned

A lot about trading, Python, and MongoDB change streams although we didn't get to use change streams yet.

What's next for Porygon

  • Continue optimising our engine to eliminate backtesting biases and overfitting of data to produce more accurate results.
  • Add more technical indicators
  • Automate paper trading using results from strategies.
  • Use MongoDB change streams for real time orders and notifications!
  • beef out risk management
Share this project:
×

Updates