FScore (Function)
The FScore function calculates and returns the values that, when summed, are the "F_SCORE" described by Joseph D. Piotroski (see reference, below).
The FScore function is a multiple-output function that returns several "signal" values by reference. That is, the function returns a value to the caller itself, as well as returning values inside variables that are passed into the function by the caller (see the information regarding multiple output functions in the Remarks section, below).
If all of the fundamental signal values necessary to calculate an overall F Score are available, then the function returns the sum of the signal values, which is the overall F Score. If some or all of the fundamental values required to calculate the F Score are not available, then the function returns -1 for both the overall function and for those signal values that could not be calculated. (-1 (negative one) is an invalid value for either a signal value or for a composite F Score.)
For some sample code that calls the FScore function, open the EasyLanguage code of the built-in indicator "F Score".
Syntax
FScore( NetIncB4ExtField,
TotalAssetsField,
CFOField,
LTDebtField,
CurrRatioField,
CurrRatioPriorYrField,
CommonSharesField,
TotalRevenueField,
CostOfRevenueField,
TotalOpExpenseField,
TotalSalesField,
oF_ROA,
oF_Delta_ROA,
oF_Delta_Margin,
oF_CFO,
oF_Delta_Liquid,
oF_Delta_Lever,
oF_Delta_Turn,
oF_Accrual,
oEq_Offer );
Returns (Integer)
The oF_ROA, oF_Delta_ROA, oF_Delta_Margin, oF_CFO, oF_Delta_Liquid, oF_Delta_Lever, oF_Delta_Turn, oF_Accrual, and oEq_Offer output parameters return the values that are summed to obtain the overall F Score. The FScore function itself returns a value of either the composite F Score value (the sum of the underlying signal values), or -1 (which indicates that not all required fundamental values were available to create a composite score).
Parameters
Name | Type | Description |
NetIncB4ExtField | string | Specifies the name of the fundamental field that contains data on net income before extraordinary items. |
TotalAssetsField | string | Specifies the name of the fundamental field that contains data on total assets. |
CFOField | string | Specifies the name of the fundamental field that contains data on cash flow from operations. |
LTDebtField | string | Specifies the name of the fundamental field that contains data on long-term debt. |
CurrRatioField | string | Specifies the name of the fundamental field that contains data on the current ratio. |
CurrRatioPriorYrField | string | Specifies the name of the fundamental field that contains data on the current ratio from the preceding year. |
CommonSharesField | string | Specifies the name of the fundamental field that contains data on the number of common shares outstanding. |
TotalRevenueField | string | Specifies the name of the fundamental field that contains data on total revenue. |
CostOfRevenueField | string | Specifies the name of the fundamental field that contains data on the cost of revenue. |
TotalOpExpenseField | string | Specifies the name of the fundamental field that contains data on total operating expense. |
TotalSalesField | string | Specifies the name of the fundamental field that contains data on total sales. |
oF_ROA | numericref | The variable used to return the F_ROA value to the caller, by reference. |
oF_Delta_ROA | numericref | The variable used to return the F_Delta_ROA value to the caller, by reference. |
oF_Delta_Margin | numericref | The variable used to return the F_Delta_Margin value to the caller, by reference. |
oF_CFO | numericref | The variable used to return the F_CFO value to the caller, by reference. |
oF_Delta_Liquid | numericref | The variable used to return the F_Delta_Liquid value to the caller, by reference. |
oF_Delta_Lever | numericref | The variable used to return the F_Delta_Lever value to the caller, by reference. |
oF_Delta_Turn | numericref | The variable used to return the F_Delta_Turn value to the caller, by reference. |
oF_Accrual | numericref | The variable used to return the F_Accrual value to the caller, by reference. |
oEq_Offer | numericref | The variable used to return the Eq_Value value to the caller, by reference. |
Remarks
Fundamental field names are listed in tables under the following categor
When the FScore function returns -1, some or all of the output variables that are returned by reference will also be -1, indicating that the value of that output variable could not be calculated. However, even when the values of some output variables cannot be calculated, the values of output variables that can be calculated will be returned (either 0 or 1).
See Multiple Output Function for more information on using output parameters to return values by reference.
Example
For some EasyLanguage sample code that calls the FScore function, open the EasyLanguage code of the built-in indicator "F Score".
Reference
Piotroski, J. "Value Investing: The Use of Historical Financial Statement Information to Separate Winners from Losers", Journal of Accounting Research (38), 2000, 1-41.