Decoding Chaos: Close Air Support Can Save Your Day and Your Deadlines.

Although I never served with a Forward Air Controller (FAC) because I was usually at the battalion level, we always knew who they were. The FAC was the privileged officer who looked lost and confused in the field usually in a fresh uniform. Only a few months before they were living the easy life of a Marine Corps pilot, enjoying the finer things in life like thread-count sheets and gourmet soap bars. Myself and my Marines? Oh, just marinating in our own, all-natural insect repellent from sweat and despair.

Although the Marine Corps was founded in 1775, I still believe it to be the original start-up. Simply put Marines are overworked, underpaid, sleepless nights, constantly forced to adapt or pivot and the organization never has enough money, so how is that not different than say startup? 

I’m taking fire and now you want me to talk to a pilot?

I believe the Marine Corps can teach valuable lessons to the business community. An excellent example of this would be During World War II in the Pacific campaign, the Marines began embedding pilots (Forward Air Controllers, FAC) with infantry (grunts) units for close air support. In civilian terms, close air support is when a platoon is trapped by enemy fire, and they need a bomb delivered to the enemy location. Oftentimes this happens seamlessly in any Hollywood film. Grunts are great at pulling triggers, but now you want them to stop shooting and have a conversation with a pilot in the air about the grid coordinates of the enemy position, seems a little high-stress. Hence, the Marines invented the FAC. Who better than someone who can feel the immediate needs of the grunt unit (they are under fire), and the ability not only to speak the language of the pilot but, having been a pilot, also knows the ability of the plane and what is capable.

Close Air Support (CAS), is delivered right on time, when everybody is working together.

Thanks for the military history lesson… so what does this have to do with tech? As I embark I embark on the next stage of my career journey… While not universally true, it’s striking how much influence many coders wield nowadays, often exceeding their designated coding tasks. I have seen project managers scared of developers, developers who get their delicate egos hurt. I have witnessed stand-ups in the form of Agile, Scrum, and Waterfall, four days a week using Jira/Kanban boards. Only to see the lead developer’s inability to explain to the absentee product owner why a three-month project took over a year and two months. $154,000 (estimate) dollars in labor costs and 11 months wasted. Ultimately missed targets or even worse friendly fire

In recent tech trends, Software Engineer Managers emerge as the ultimate translators between management and developers—think Close Air Support, but for code. At FAANG, you might find coding wizards with leadership struggles or project managers who see Java and JavaScript like different Mountain Dew flavors. Enter me, the FAC you didn’t realize you needed! With 12 years of skillfully transforming polymorphism into web magic and expertly herding Docker containers like the Wild West. Pre-programmed with 20 years of juggling ops and management, I navigate conflicting priorities like a pro. I specialize in mediating between the ever-confused business needs and the delicate egos of the engineering team—because balancing both is not just a job, it’s my finely tuned skill, perfected through tech and managerial mayhem!

From intricate web development to Camp Fallujah, my unique journey reflects a commitment to excellence in both realms. Let’s discuss how I can bring my unique skills to your team—reach out via email or view my detailed resume here.

There is no help for you crayon eaters and ASVAB waivers, but there is hope for your children.

But before you Fire For Effect on my account… and now that I might have your limited attention span, Please allow me to introduce myself…

I’m proud to be the Chairman of the Denver Chapter of the Marine Corps Scholarship Foundation (MCSF). I’m a volunteer, like my time in the USMC.

The Denver chapter is hosting its 20th annual charity Golf Tournament 8/1 in Denver .

There are other events in other cities as well

The Marine Corps Scholarship Foundation (MCSF) has a great way to get involved with Marines without all the excitement of field exercises, weapons cleaning, or sleeping deprivation. MCSF is one of the few mission-driven veteran organizations, not just a beer-drinking organization. Sure we have fun and share our inflated war stories but at the end of the day, raising money for scholarships is our mission.

I’m currently recruiting new volunteers, donors, sponsors, donations, and awareness for our Denver Chapter (or any chapter for that matter). This is an excellent opportunity to see the difference MCSF is making in the lives of fellow Marine veterans’ children. High impact, low drag.

DM, contact me, or go to mcsf.org, or give me an upvote to spread the word.

Not convinced… well 1st Lieutenant Smith donated to the cause.

Honoring Marines by Educating Their Children

Semper Fidelis

Chad, CWO2 USMCR (ret)

P.S. In the Navy? MCSF has got you covered as well.

Why I Love Making Other People Rich With their Silly Trading Strategy!

How’s that for a semi formulaic clicky bait headline…

Everybody wants to be rich and or wants to trade stocks. The more that Gamestop, bitcoin and meme stocks make the headlines, the more upwork requests I get to build something to make money for other people? Sure I don’t mind building a trading platform (stocks, futures, or options) but I’m not going to give my secret algorithm. Sure I might fine-tune your algo based on my experience, but seriously, you just want me to build you an algo that sorts profitable trades just for you? Sure no problem!

This is just one of about 7 conversations I have had in the last month. I played along with this particular person because I thought it was entertaining.

[2/9/2021 11:19:56 AM] Some Bro on Upwork: Hello! I’d like to personally invite you to apply to my job. Please review the job post and apply if you’re available.

We are looking to create a program that Analyzes both historic breakouts as well as current potential breakouts that are emerging and Creates an alert with the data. See red circled highlight in the image below.

[2/9/2021 11:19:56 AM]: Chad: The best cover letter I could write is a real-time trading web page of all the stocks that I generate buy and sell signals for over 600 stocks and ETFs. (The site needs a little work as I’m not a front end developer, but the algorithm works well)

I have written an article about how to build a trading algorithm based on my experience working with algorithmic trading and clients.

Also, I just wrote an article about Stock and Options API with brokerages:

[2/9/2021 2:36:09 PM] Some Bro on Upwork: Hi Chad, Can you please comment on whether you can build us a program based on the job description, and give me a work scope, timeline, potential deliverables so that I can manage our expectations. Thank you.

[2/9/2021 3:30:57 PM] Chad: Hi, That’s wild, about 100% of the time I have to ask the client for a scope of work. I’m only trading futures 5 1/2 days a week, 24 hours a day, finding breakouts turning them into trade signals, send those commands to Interactive Brokers then deciding when to get out of that trade. (this happens every minute) Monitoring the data feed, the trade execution, and that the AWS/EC2 server is up and running. Of course, all this monitored and sent to slack channels. I do this for stocks and options right now, but it’s only on a paper trading account. You want to me write the scope of work based on a screenshot?

[2/10/2021 11:09:21 AM] Some Bro on Upwork: Thank you for the details. Yes, please if you can. To your knowledge, is there an app that does this, too? Or can a program be created? My research shows you still need the human element. Thoughts?

Scope:

Create a stock breakout analyzer program that: Looks at historical data for breakouts. Looks at live stock data and analyze for potential breakouts. Then alerts end user of the program (alerts can be customized to some degree)

[2/10/2021 3:17:54 PM] Chad: I’m a little concerned that you might not have picked up on my sarcasm. I look for “breakouts” in the futures market and the stock market already. (it’s in my cover letter). It’s my secret sauce for my trading algorithms. It’s the essence of all trading algorithms. So I’m not sure what your definition of “breakouts” is? Is it the correlation of the VIX MACD crossover and then the positive correlation with that particular stock? Maybe a large short interest in addition to IV that is crossing HV?

Why just breakouts? What about Breakdowns?

[2/15/2021 1:18:37 PM] Some Bro on Upwork: I want to clarify our expectations. We are not stockbrokers or stock analysts. We are end-users who are looking for something specific. You need to look at your prospective clients as laymen when approaching a solution discussion.

So, would you be able to try again and offer a solution that your expertise can help us?

Your tool looks cool.

We are open to definitely listening to what you can offer on the program. So, if you feel that both breakouts and breakdowns should be in the program. Sure, please make the argument as to how that will help us.

Additionally, if you would please clarify, on your existing solutions, is a human interaction imperative? Your tool in the following link maybe what we need, perhaps a little tweak here and there. Would you be able to walk me through how this works?

[2/15/2021 9:06:00 PM] Chad: The winner’s page comes from breakouts. (breakdowns are when one shorts a stock instead of buying the stock)

The winner’s page (derived from breakouts and breakdowns alerts) are generated at the of close trading. There is no human involvement, well because I think I’m tracking over 1,000 stocks so I don’t have time to get involved in human intervention. These would be close-of-day alerts, meaning these alerts wouldn’t be generated during the trading day.

I could build an alert system. email/slack/twitter/SMS?

It’s been a while since I heard back from this intelligent investor. I should have mentioned earlier that it would be $10k to get the project started that usually quiets potential clients.

Since this conversation started in early February, and the market has taken a significant downturn or upturn, ( I can’t keep track anymore, that’s why I build algos, so I don’t have to), the “Bro” might be either “hold the line” or maybe he has diamond hands? Either way, I haven’t heard from him since.

I guess the icing on the cake would be: “Your tool looks cool.”

How to get historical data from Interactive Brokers

Work in progress… details to follow but this some sample code that works

   @printWhenExecuting
    def historicalDataOperations_req(self):
        contract = Contract()
        asset_info = quotes_library.get_asset_info()
        for val in asset_info:
            print(val)
            self.assetId = val['assetId']
            tickerId = val['assetId']
            contract = Contract()
            contract.symbol = val['base_symbol']
            contract.secType = "FUT"
            contract.exchange = val['exchange']
            contract.currency = "USD"
            contract.lastTradeDateOrContractMonth = val['lastTradeDateOrContractMonth']
            self.reqHistoricalData(tickerId, contract, "", "1 D", "1 min", "TRADES", 0, 1, True,[])
      
    
    @iswrapper
    def historicalDataUpdate(self, reqId: int, bar: BarData):
        # print("HistoricalDataUpdate. ReqId:", reqId, "BarData.", bar)
        quotes_library.load_IB_1_min_realTime_bars(reqId,bar)
        
    @iswrapper
    # ! [historicaldataend]
    def historicalDataEnd(self, reqId: int, start: str, end: str):
        super().historicalDataEnd(reqId, start, end)
        print("HistoricalDataEnd. ReqId:", reqId, "from", start, "to", end)
        self.keyboardInterrupt(self)
    # ! [historicaldataend]

Think or Swim on Ubuntu 20.04 / Focal Fossa

It will be interesting to see what happens with Think or Swim and Charles Schwab in the coming years as the two merge. Retail brokerages are slowing consolidating and going by the wayside as Robinhood / options become all the rage.

I use Interactive Brokers for all my trading because I believe hands down they have the best API for all my needs. However, I use TOS in all my chart analysis and developing my algorithmic strategies.

I have written about installing Think or Swim on previous versions of Linux, so I thought I would update to Focal Fossa cause once again TOS directions didn’t work.

Start with some java:

1. install sudo apt install openjdk-8-jre

2. Download the installer

3. cd /Downloads && sudo chmod +x thinkorswim_installer.sh

4. install sh ./thinkorswim_installer.sh

m The installer should start the application for you. The TOS small box will pop up and say that it is installing updates. This seems to take a long time, like 5 minutes? So go do something else for a few. Then you should get a login screen after a while.

Note: If you find any discrepancies or tips please leave them in the comments. I will do my best to post them, as this blog post and the other Ubuntu / TOS get a lot of hits, there are people out there that need hits.

I’m in need of some marketing help…

TLDR: Failed web developer/front end developer, ISO of an internet marketer to work with a profitable stock trading signal algorithm. I need some advice, please.

A few years ago I developed a volatility/correlation algorithm for RIA here in Denver and deployed across a $150 million portfolio. That year the advisory firm won a Lipper fund award for a portfolio that employed this algorithm. (U.S. Balanced/Multi-asset (All Styles) Ranked # 1 ROR 17.45%). I know super exciting right… I like it’s kind like a dunnie.

I left the firm and have taken my algorithm and applied it across all the stocks in the S&P 500. I have made the terrible mistake of thinking that I could be an algorithmic writer/code writer, web developer, and internet marketer. I have failed miserably at the last two. There just isn’t enough time in the day.

So now I have a ghost site, actually, it should be called a zombie because it has a mind of its own. (excluding this blog site) I still have scripts that continue to maintain the algorithm and update it every day, although I haven’t looked at them in months, it keeps churning out trades. I have been too focused on my day job as an algorithm coder / CIO for a small family office.

Here are few highlights of the site:

The winners, page is a list of stocks that the algorithm picked and as you can see are basically winning. Breakouts & Breakdowns is updated daily with new trades. I just remember I even have an FAQ on the how the algorithm works, well not the secret sauce just a basic idea. There is a lot of potential in the algorithm as the sum product of all the equities I track can be analyzed into another technical indicator to see the market as whole, I call it the Happy/Panic meter.

Yes, I do understand that at the time of this blog post that Apple stock has not been adjusted for the split and some stocks might have a 100% gain because well that day I didn’t the correct quote. You can also see that each page has its own individual page, with charts, etc.. So please keep that in mind that I haven’t updated certain parts of the website, but the algorithm is as robust as ever.

Basically, I’m either looking for a business partner that would handle the marketing/front-end design and or personality of the website. (we could move it to another site) Would also be happy to discuss a host of other options, such as API access, trading machines/trading bots (click around the site, I have some experience in building trading machines), or white label services. I also can build portfolios for RIA and FA, I have some great ones already on the website.

So go ahead kick the tires, click around the website. Ask me some questions… throw out some ideas… because I running out of them. Chad @ this domain .com

Financial internship.

This position is ideal for someone looking to gain exposure to quantitative “quant” trading.  Waystone Capital is seeking an Intern with knowledge of the financial markets, python (or PHP) development skills, and aspiring to become a data scientist.   The Intern will work on projects that provide broad exposure to quant trading and the hedge fund trade.  This is an internship and an understanding of the financial markets is required.

Responsibilities

  1. Assist with the build out of the firm’s back-test environment;
  2. Analyze large sums of back test data and run numerous linear regression models as requested by the Partner / Lead Developer;
  3. Working with the Partner / Lead Developer to analyze and onboard new asset to the firm’s algorithm trading platform, and thereafter optimizing the algorithm for each new asset class. 
  4. Work with the team to explore using the algorithm with public securities.

Minimum Requirements

  1. Finance background.
  2. Python or PHP coding experience is the primary requirement for this position. 
  3. Ability to work with others including peer code review and focusing on project deadlines and goals.
  4. Ability to work confidently and passionately until the desired outcome is achieved.
  5. Solid verbal and written communication skills.
  6. At times the intern will work with no guidance and will have to solve the problems on their own; the applicant must be an independent thinker. 
  7. The internship shall be remote.

Education and Experience

  1. Preferably working towards a Bachelor in Finance or Business Administration.
  2. Experience with developing in Python and other object-oriented programming languages.

Industry

  1. Investment Management 


Algorithm – Financial Trading FAQ

I get a lot of questions about Financial Trading algos, building black boxes, which is the best trading API, the list goes on. Not to sound to pretentious, but I try to help people, even when I possible, but I don’t always have time. So I’m just post some of the questions here in random order.

what is the preferred language for algorithmic trading? I wanted to use Java but I am not sure if that is the best language.

I used to use PHP. Now I use Python. I think Python is a good reasonable solution. If you are on Wall Street doing High Frequency trading you would probably use C# or C++ as it is supposedly the fastest.


Also, have you heard of finnhub.io and alpaca? If yes, which one in your opinion has a better API? I trade Futures, stocks and options. I don’t think either of those can do what I need.


Do you build trading algorithms for futures, stocks, options?

Based on my blog post I think the answer would be yes.

Hey, I read your blog on which api is the best and I have been doing research on TD Ameritrade for 2 days now and I have not made much progress. I am new to this and also was wondering If Interactive brokers is free to use for stocks and options?

You can start paper trading, this would allow you access to API paper trading account without putting money into the account. I think you have to $2000k to get really started. From my recollection, (but not perfect) but you can open an account, with no money and use the API and paper trading account. When you are ready to get started, I think 2000k is the min and they charge $10 service fee every month.

I would not recommend TD ameritrade and I think you have validated with your research. IB is for the most part free, well documented, python SDK and plenty of support groups. (Stocks, Options, Futures)

I need to up date this but here is starting point… https://github.com/chadhumphrey/stock_options_api

Hi I read a comment in which you mentioned that you wrote your own python code for options trading. That is currently my goal. I am very new to programming and am seeking some help in setting up my own backtesting environment. Would you mind helping me a little? I have access to historical stock data for as well as historical options data. All my options strategies are based on the underlying price and time. My stock data for one symbol is in one CSV file, while I have hundreds of CSV file each for a different option strike with different strike prices. How can I translate my simple option strategies into a python backtesting environment? For example, once XXXX reaches $XXX, buy a call that is +XX dollars ITM that expires in XX days?
I’ve been fairly successful in stock,options and futures trading and have done manual backtests looking at historical charts and such but python backtesting will bring me to a whole new level at a much faster rate.
Any tips or suggestions will be really appreciated.

I have written 3 algos (options, stocks, futures) For stock and futures I do use backtesting data. As for options I’m far to lazy and cheap to find option historical data. So I have developed my own strategy and write my code. Then I just paper test it on Interactive Brokers. Basically, forward testings and since my options algo can find trades in thousands of stocks I feel like I’m getting some good data to analyze. http://thebennyshow.us-east-1.elasticbeanstalk.com/spreads It’s still a work in progress, but this algo ran while I was at my day job. I would argue that with options you can save a lot of time just forward testing. Hope that helps…
not sure if you saw this as well… https://www.strategic-options.com/insight/2020/05/17/update-2020-the-best-and-worst-stock-futures-and-option-trading-apis/
Sorry I can’t write your algorithm for you, but will happy to do so if you want to pay me. 🙂

Many years ago I could have gone the NinjaTrader route, but I was to cheap. So I learned to code. Now I don’t have any problems that I can’t fix. 😉

Hello,
Interested in developing algorithms that will ingest data/analyze and make trades with options. Are these services something you provide?
Regards…….

So you want to build a financial trading algorithm?

It all starts with an idea… or a little bit of anger. 

Chances are pretty good your algorithm strategy wasn’t developed because your bank account is filled with fiat currency or because you really like your day job. Just like blogging, all you need is an internet connection and resentment. 

Usually the strategy or algorithm comes from losing a lot of money when making trades from your gut feeling or listening to the advice of a taxi driver. Hopefully this isn’t the case, but possibly you were taking trade ideas from Wall Street Bets or it could come from everybody’s favorite Wall Street clown. More often than not great algorithmic trade strategies don’t just happen because you were clicking around on charts and nothing better to do.  

Recently, I was approached by someone to program their algorithm. The idea seemed a little half baked, but possibly could work. Since I have experience in this area and know some of the in and outs of this type of work, I usually put together a brief scope of work. In the end I didn’t get the job but my scope of work turned out to be a pretty good blog post on the basis of build a algorithm. I didn’t get the job because I was probably too expensive and I ask lot of questions, well cause I like to think things thru. 

Phase 1: “Let’s see what sticks”

Build a “Scrubber” that would take stocks/options and process them thru your algorithm. The result would be placed in a database / excel sheet for your further analysis. 

The goal would be to use significant amounts of stocks/options and data attempting to confirm your algorithm thesis and find any significant trends and capitalize on them. The more stock/options that you can run thru the “scrubber” the stronger your algorithm will be. My current  stock algorithm runs over 500 stocks. 

What I need to get the project started: Bullet point description of the algorithm. Need a control method, to ensure the algorithm identifies the correct trades. 

Cost: MP

Phase 2: “What worked, what didn’t and what worked surprisingly well”

Continued development of the algorithm, making changes to the algorithm based on the findings from the data. Such as adding a volatility filter? As this case with most algorithms, and which I believe is the exciting part is discovery. Analysing the data and finding new ways to increase profitability. These would be small changes in the code to “tweak” the algorithm.  

Cost: ~hourly basis

Phase 3: “4 weeks of NFL preseason”

I don’t believe in NFL preseason games! Okay, maybe not 4 weeks. But it’s important to set up a paper trading account at Interactive broker. Make sure that slippage isn’t an issue and there are no other execution issues. Do market orders work better than limit orders? Do you have restrictions on your account (margin limits)  Are orders backing up in the queue? Slippage? Account limitations… meaning you might not have enough money in the account to make 10 trades, but can make 9 trades?

User requirements: server (AWS or computer connected to the internet)

Cost: MP

Phase 4: “Make it Rain”

Live trading and making $$. Set up, training and maintenance. Paper trading will be the major hurdle, but there might be a few unknown items moving into the final phase. From my experience, the difference of paper trading to live trading is pretty much a flick of the switch. 

Cost: MP


The unknown: Human emotion is the biggest hurdle that I have run across. Currently, my algorithm runs 24 hours a day 5.5 days a week. I only know it is working when I check in on my account or I get the IB reset alert on slack. Otherwise, the algo is just turn out trades, regardless of what the president tweets or what wars or civil war we are currently in. It takes a little bit of time to accept the algo is working and all your hard work is doing what it’s supposed to be and you can kick back a relax.  

Most people generally accept that when flying and at a cruising altitude, the pilot has the plane on auto pilot and he is just monitoring controls, not flying the plane. We have a certain faith that the pilot and the autopilot feature are doing what they need to do. The same goes with a financial algorithm, you have to trust that it’s working and that isn’t an easy thing to do at first when money is on the line. 
So that is the basic layout of putting an algorithm together, I’m sure I missed a few things and maybe over exaggerated others. Just because one has made a few successful trades on Robinhood, doesn’t mean you are ready for an automated trading. So with that it takes a lot of work and if you want to work with me the starting price is at a minimum $7,000. In the event you are still interested, start the conversation off with my payment of 7,000 M&Ms and make sure they are all green!

Update 2020: The Best and Worst Stock, Futures and Option Trading APIs

My original post is still here, I get a lot questions, so I thought I would update with my current findings.

When picking an API the $64,000 question is  does Charles Schwab (TD Ameritrade) or Morgan Stanley (Etrade) really want to deal with building an out API for their customers once the mergers happen? Meaning is there enough revenue generated from API trading to keep 10 annoying coders with at least 2 dev ops bros who believe they know everything and of course an annoying project manager.  I personally believe these firms kind of see the API as dead weight, with only a few customers and the trend is more getting day traders like Robinhood has?  Keep in mind brokerages generally don’t have the trade fees they used to have.

Td Ameritrade

The TD Ameritrade API is courtesy not a guaranteed feature. (This was told to me by a customer service rep) They don’t necessarily provide support if you send them a question at [email protected]. If it’s an easy question they might respond, if it’s a difficult one then they won’t. Reddit / stackoverflow is too fond of TD API. Otherwise their documentation generally is terrible. I currently only use TD API for live option quotes, because I like they can give the entire option chain so I can analyze it on “my  local”. It generally is the worst API that I have ever used. Since it’s more of a courtesy I I  On the flip side I Think or Swim is awesome.

Etrade API

I have poked around the new eTrade API, it appear to be very easy to use. I think they are using standard REST API methods etc. Meaning they are probably using a framework such as api-platform to build it. From what little I can see it seems like it is rather too easy to use and well documented.

Interactive Brokers

Interactive Brokers is what I trade options and futures with, their code has a learning curve, it is not terribly nice and sometimes you just have to wonder about serious WTF. Once you get past that and consider it is really the only game in town, it works just fine. I’m trading futures 24 hours a day, with no problems. IB really focuses on their API and has a dedicated staff, support etc.

etc…

I have not had time to test out Alpaca. I don’t get paid to write these reviews (I wish I did) So since I’m a practitioner, I don’t have an incentive to test out Alpaca or any other API at this time. Although IB is a pain in the butt, it’s working just fine for me.

I ran across this website the other day… Any wants to join forces or pay to front run Robinhood, shoot me an email.  This is some low hanging fruit.