#A quick idea to sort thru a watchlist and look for: riskier, higher leveraged to profit companies. To use sometimes, & glean if a company has to really push their agenda to create sales in order to lower their higher leverage to become more stable. Yet if too low that means they are not leveraging enough, and growing as a company.
I wrote this idea thru with chatgpt It's not accurate enough tho: chatgpt kept flipping it to ROE, so it's possible the formula is too basic & not correct at all, it's still under construction then.
To validate to 2 constants: you can add 2 their watchlists:
NetProfitMargin & FinancialLeverage
& write your own to gain better results from the 2 fundamentals.
In a grubby old watchlist:
a company with -33 low profits and low leverage of 1.8 gets a 1.65 (no profits)
a company with -10 low profits (BA )and negative leverage of -5 gets a 2.78
(negative leverage? perhaps they pay themselves 5% in someway so the stock never has to rise again)
a company with 55 high profits (NVDA) and low leverage of 1.46 gets a .03 (not expanding)
a company with -13 low profits and high leverage of 11.8 gets a 9.76 (aggressive, needs sales)
a company with 2.5 high profits and high leverage of 49 gets a 9.76 (too debt aggressive)
a company with 7.8 high profits and high leverage of 7.5 gets a 2.19 (balanced)
Ideally a result that puts an overly leveraged company w/negative profit
listed as an extreme negative or positive, (to stay away from trading it).
So, adding conditions might work for the extreme instances.
-----------------------------------------------
def fp = FiscalPeriod.YEAR;
// Get net profit margin and leverage
def finlev = FinancialLeverage(fiscalPeriod = fp);
def netprofit = NetProfitMargin(fiscalPeriod = fp);
// Calculate Aggressiveness Ratio using absolute values
def aggressivenessRatio;
if finlev != 0 and netprofit != 0 then {
aggressivenessRatio = AbsValue(finlev) / AbsValue(netprofit);
} else {
aggressivenessRatio = Double.NaN;
}
// Plot the Aggressiveness Ratio
plot Ratio = aggressivenessRatio;
Ratio.SetDefaultColor(Color.CYAN);
Ratio.SetLineWeight(2);
I wrote this idea thru with chatgpt It's not accurate enough tho: chatgpt kept flipping it to ROE, so it's possible the formula is too basic & not correct at all, it's still under construction then.
To validate to 2 constants: you can add 2 their watchlists:
NetProfitMargin & FinancialLeverage
& write your own to gain better results from the 2 fundamentals.
In a grubby old watchlist:
a company with -33 low profits and low leverage of 1.8 gets a 1.65 (no profits)
a company with -10 low profits (BA )and negative leverage of -5 gets a 2.78
(negative leverage? perhaps they pay themselves 5% in someway so the stock never has to rise again)
a company with 55 high profits (NVDA) and low leverage of 1.46 gets a .03 (not expanding)
a company with -13 low profits and high leverage of 11.8 gets a 9.76 (aggressive, needs sales)
a company with 2.5 high profits and high leverage of 49 gets a 9.76 (too debt aggressive)
a company with 7.8 high profits and high leverage of 7.5 gets a 2.19 (balanced)
Ideally a result that puts an overly leveraged company w/negative profit
listed as an extreme negative or positive, (to stay away from trading it).
So, adding conditions might work for the extreme instances.
-----------------------------------------------
def fp = FiscalPeriod.YEAR;
// Get net profit margin and leverage
def finlev = FinancialLeverage(fiscalPeriod = fp);
def netprofit = NetProfitMargin(fiscalPeriod = fp);
// Calculate Aggressiveness Ratio using absolute values
def aggressivenessRatio;
if finlev != 0 and netprofit != 0 then {
aggressivenessRatio = AbsValue(finlev) / AbsValue(netprofit);
} else {
aggressivenessRatio = Double.NaN;
}
// Plot the Aggressiveness Ratio
plot Ratio = aggressivenessRatio;
Ratio.SetDefaultColor(Color.CYAN);
Ratio.SetLineWeight(2);
Last edited: