Month: May 2020

Seth Godin’s Akimbo: Difficult Conversations

In his Akimbo podcast, Seth Godin teaches us how to adopt a posture of possibility, change the culture, and choose to make a difference. Here are my takeaways from the episode.

In this podcast, Seth discussed the art of having difficult conversations, how to have one, and how not to have one.

We all dislike or maybe even fear to have difficult conversations with someone. Our culture has taught us that difficult conversations are the thing to avoid.

Seth wants to argue that a difficult conversation is awkward because we want two things. We want someone to change, and we want them to like it.

When we try to achieve these two goals in one conversation, the conversation gets a lot more complicated. We magnify the impact of one or the other, whichever one is harder, and we end up avoiding it altogether.

It is essential to keep several things in mind as we break down our feelings about the difficult conversation. The first one has to do with authority and other’s feelings. When we have the power, and other’s feeling is not a critical consideration, we usually do not view it as an awkward conversation.

Also, when we need to give a direct statement or feedback because the situation requires it, we do not see it as a difficult conversation.

But most of the time, we are stuck because we do not see the conversation can be direct without caring for the other’s feelings. In those situations, the concept of enrollment becomes essential.

Enrollment means that two people want to reach the same destination, and one person is relying on the other person to show the way. When two people are enrolled on the same journey, difficult conversations get easier. That is because the conversation is more about reaching the goal, rather than about someone’s feeling.

So the best way to move past a difficult conversation is to spend far more time working on enrollment. Enrollment means sharing not only a common objective but also resources, gains, and risks. Enrollment also requires mutual trust between the two parties.

Too often, in an industrialized culture, enrollment is hard to achieve between the boss and the worker. The industrialized culture does not promote an environment where the boss and worker share gains and risks equitably. The same culture also does not encourage mutual trust.

So, the best way to change our culture is by earning trust and enrollment first. Once we have trust and enrollment, then difficult conversations become a lot less difficult. With enrollment, the conversation is no longer personal.

In summary, there are two approaches to change a difficult conversation. One approach is to make it direct with a solid basis. That is not a difficult conversation anymore because it is based on a clear, mutually understood standard or guideline.

The second approach is to invest in building involvement, trust, and enrollment. When we agree to go on the same journey by enrolling ourselves, the conversation becomes much less about anyone’s feeling.

向前

(從我一個尊敬的作家,賽斯·高汀

我們對時間的體驗總是朝著單一個方向發展。

它似乎在加速或減速,但是混亂與外界總是使事情從昨天移到明天。

鑑於沒有什麼事永遠都是一樣,倒退也不是一個選擇,我們唯一的選擇就是向前進。

人生一直都是這樣。一旦我們遇到那種事物,任何事物,環境將永遠不會恢復原狀。

但幸運的是,我們有機會能使事情變得更好,每天都有。

Algorithmic Trading Model for Cramer COVID-19 Index Using Python Take 1

SUMMARY: The purpose of this project is to construct and test an algorithmic trading model and document the end-to-end steps using a template.

INTRODUCTION: CNBC’s Jim Cramer, the host of Mad Money show, presented a list of stocks on April 27th that he believes will work well in this coronavirus-plagued market. The ‘Cramer COVID-19 Index’ contains 100 companies that touch 17 sectors where investors can expect a positive return in this volatile market environment. The project aims to analyze these 100 stocks and develop strategies for trading these stocks, either individually or in groups.

In this Take1 iteration, we will construct the necessary code segments for downloading and visualizing the index and the stocks. The script will leverage various data sources, both free and paid subscriptions, for pulling the required dataset together.

NOTE: This script calculates the index value by using the number of outstanding shares from each company. Such an approach may not match how CNBC calculates this index (https://www.cnbc.com/cramer-covid-19-stocks/). This script is for educational purposes only and does not constitute a recommendation for buying or selling any stock mentioned in this script.

ANALYSIS: Not applicable for this iteration.

CONCLUSION: Not applicable for this iteration.

Dataset ML Model: Time series analysis with numerical attributes

Dataset Used: Yahoo Finance, IEX Cloud, and Quandl

The HTML formatted report can be found here on GitHub.

Algorithmic Trading Model for Exponential Moving Average Crossover Take 4

SUMMARY: The purpose of this project is to construct and test an algorithmic trading model and document the end-to-end steps using a template.

INTRODUCTION: This algorithmic trading model uses the 20-day and 50-day exponential moving averages to generate trading signals. When the fast moving-average curve crosses above the slow moving-average curve, the strategy goes long (buys) on the stock. When the opposite occurs, we will exit the position. We apply the analysis on the GOOG stock for the three years of 2017-01-01 thru 2019-12-31.

In iteration Take1, we constructed and tested a trading strategy using the daily stock data from Yahoo! Finance with an initial investment pool of 1,500 USD.

In iteration Take2, we constructed and tested a trading strategy using the daily stock data from Alpha Vantage with an initial investment pool of 1,500 USD. We also leveraged the technical indicators available from Alpha Vantage.

In iteration Take3, we constructed and tested a trading strategy using the daily stock data from IEX Cloud with an initial investment pool of 1,500 USD. We also leveraged the technical indicators available from IEX Cloud.

In this Take4 iteration, we will construct and test a trading strategy using the daily stock data from Quandl with an initial investment pool of 1,500 USD.

ANALYSIS: In iteration Take1, the trading strategy returned 27.94%. In the meantime, the long-only approach achieved an accumulated return of 37.21%.

In iteration Take2, the trading strategy returned 27.94%. In the meantime, the long-only approach achieved an accumulated return of 37.21%.

In iteration Take3, the trading strategy returned 27.94%. In the meantime, the long-only approach achieved an accumulated return of 37.21%.

In this Take4 iteration, the trading strategy returned 27.94%. In the meantime, the long-only approach achieved an accumulated return of 37.21%.

CONCLUSION: For this period, the trading strategy did not outperform the more straightforward long-only approach. We should consider more modeling with different methods for this stock. However, we were able to successfully use the data sources from Quandl to perform our modeling.

Dataset ML Model: Time series analysis with numerical attributes

Dataset Used: Quandl

The HTML formatted report can be found here on GitHub.

Algorithmic Trading Model for Simple Moving Average Crossover Take 4

SUMMARY: The purpose of this project is to construct and test an algorithmic trading model and document the end-to-end steps using a template.

INTRODUCTION: This algorithmic trading model uses the 20-day and 50-day simple moving averages to generate trading signals. When the fast moving-average curve crosses above the slow moving-average curve, the strategy goes long (buys) on the stock. When the opposite occurs, we will exit the position. We apply the analysis on the GOOG stock for the three years of 2017-01-01 thru 2019-12-31.

In iteration Take1, we constructed and tested a trading strategy using the daily stock data from Yahoo! Finance with an initial investment pool of 1,500 USD.

In iteration Take2, we constructed and tested a trading strategy using the daily stock data from Alpha Vantage with an initial investment pool of 1,500 USD. We also leveraged the technical indicators available from Alpha Vantage.

In iteration Take3, we constructed and tested a trading strategy using the daily stock data from IEX Cloud with an initial investment pool of 1,500 USD. We also leveraged the technical indicators available from IEX Cloud.

In this Take4 iteration, we will construct and test a trading strategy using the daily stock data from Quandl with an initial investment pool of 1,500 USD.

ANALYSIS: In iteration Take1, the trading strategy returned 32.79%. In the meantime, the long-only approach achieved an accumulated return of 37.21%.

In iteration Take2, the trading strategy returned 32.79%. In the meantime, the long-only approach achieved an accumulated return of 37.21%.

In iteration Take3, the trading strategy returned 32.79%. In the meantime, the long-only approach achieved an accumulated return of 37.21%.

In this Take4 iteration, the trading strategy returned 32.79%. In the meantime, the long-only approach achieved an accumulated return of 37.21%.

CONCLUSION: For this period, the trading strategy did not outperform the more straightforward long-only approach. We should consider more modeling with different methods for this stock. However, we were able to successfully use the data sources from Quandl to perform our modeling.

Dataset ML Model: Time series analysis with numerical attributes

Dataset Used: Quandl

The HTML formatted report can be found here on GitHub.