For calculating zakat on stocks, we use the methodology explained in Sheikh Joe Bradford's book Simple Zakat Guide.
Active holdings are investments that you trade and adjust on a frequent basis. This category includes any holdings that you plan to keep for less than a year. Such holdings should be treated similarly to cash and, therefore, subject to zakat payment of 2.5% of their total value.
Passive holdings are long-term investments that you do not actively trade and plan to hold for more than a year. To calculate zakat on these investments, you need to determine your percentage ownership of the shares and then multiply that by the current assets of the underlying business.
For ETFs and mutual funds, the process is more complex and requires a recursive application of this calculation to their holdings, with a weighted aggregation at the end. It is important to note that these investments require careful tracking of changes in the underlying assets, as they can affect the zakat liability.
Scholars have approved the use of taking 30% of the current market value of a stock or fund as an approximation for current assets when the information is not readily available.