Dropbox’s shares have fallen -27.6% from its July high of $26.20, which was under the recent February high of $26.49 as of 09/06/2019. It’s also -57.75% under the ATH of $43.50, so I saw this as a perfect opportunity to leverage R and run a ‘Quick N’ Clean’ valuation to answer a couple questions like ‘What sets Dropbox Apart’ and more.
I wanted to create this post as an addition to my previous post, Running R on AWS EC2 and Logging into RStudio from Anywhere, to show how to secure your AWS environment. Hopefully these articles can help others save time and learn to avoid hours spent reading documentation guides. My purpose for learning about the AWS environment is to securely create and ship shiny apps to share my analysis projects in a better fashion. Setting up the security group of your instance is dependent on the use case for your instances. After looking through some of the basic ways hackers can get into your EC2, most of the vulnerabilities came from storing private keys in the wrong places, and port scans.
In my previous post Databases in the Cloud, I went over some of the benefits Amazon Web Services has to offer. Amazon EC2 is just another great service offered by Amazon. Simply speaking, EC2 is basiacally a virtual server that offers a variety of operating systems and computational power. EC2 allows users to build apps, automate scaling according to changing needs and peak periods, deploy computational intensive models, streamline development processes, and create virtual servers to manage storage, lessening the need to invest in infrastructure.
Amazon RDS is another amazing service provided by AWS (Amazon Web Services) that is designed to set up, manage, and scale a relational database such as MySQL, PostgreSQL, Oracle, SQL Server, and more in the cloud. Not only that, but Amazon RDS assumes the day-to-day management tasks associated with MySQL such as backups, failure detections, recovery, and scaling. I decided to make the switch onto Amazon RDS using the free tier so I could make my database easily accessible for my shiny app. In this post, I will provide two ways for you to make this necessary switch and why you should.
If you’re an R programmer then you’ve probably crashed your R session a few times when trying to read datasets of a over 2GB+. It can get a little frustrating when all you want to do is harness the true power behind R through building statistical models on these large datasets and your session crashes with a window stating ‘R SESSION ABORTED’. Since R executes code in-memory, which is the computers available RAM, you will encounter failures when reading datasets larger than the available memory. Also, once you have enough dataframes stored then your R session can become extremely slow and affect your work severely. One of my classes at Pace University showed me the value in storing your larger datasets in a MySQL database and I decided to learn how to stream these datasets in R so we do not have to store the larger datasets in-memory.
Do you ever notice when our president sends out a tweet and the markets spike/drop almost instantly, or within seconds of news going public, millions of shares are being traded based off what was said or done? Are investors staring at twitter 24⁄7 ready to hit buy or sell? The answer, of course, is no, but algorithms programmed with NLP (natural language processing) scripts are. Sentiment analysis from tweets, social media postings, press releases, surveys, reviews, transcripts and many more occur millions of times every day.
After writing my recent post “Scaling a Simple Earnings Strategy to the NASDAQ Exchange” I started to research how I could implement that earnings strategy into a live brokerage account directly from R. Most of us have heard of Quantopian or other backtesting services, but things can get complicated quickly once you search for a way to implement a live strategy using R. I wanted to find an easy-to-use package or brokerage account that could allow me to implement live trades using only R. From my experience, R is a great tool to use for backtesting with packages like quantstrat offering a fast and powerful backtesting platform, but fails for live trade implementation. I think this might be due to a low number of exchanges that offer real-time and easy-to-use free API connection. I almost came to the conclusion that I would need to use other languages other than R to find a easy way to implement my earnings strategy until I found an online brokerage called Alpaca, creating AlpacaforR.