class_docstr: Parent class representing a generic financial asset.
  
  :param data: Historical price data of the asset.
  :param name: Name of the asset.
  :param asset_type: Type of the asset (e.g., "Stock" or "Market index").
  
  The ``Asset`` class provides common functionality and attributes for financial assets.
  It represents a generic asset and serves as the parent class for specialized asset classes.
  
  Attributes:
      - ``data`` (``pandas.Series``): Historical price data of the asset.
      - ``name`` (``str``): Name of the asset.
      - ``asset_type`` (``str``): Type of the asset (e.g., "Stock" or "Market").
      - ``expected_return`` (``float``): Expected return of the asset.
      - ``volatility`` (``float``): Volatility of the asset.
      - ``skew`` (``float``): Skewness of the asset.
      - ``kurtosis`` (``float``): Kurtosis of the asset.
  
  The ``Asset`` class provides methods to compute various quantities such as expected return,
  volatility, skewness, and kurtosis based on the historical price data of the asset.
docstr: Nicely prints out the properties of the asset,
  with customized messages based on the asset type.
docstr_tok: ["Nicely","prints","out","the","properties","of","the","asset",",","with","customized","messages","based","on","the","asset","type","."]
code: def properties(self) -> None:
      """Nicely prints out the properties of the asset,
      with customized messages based on the asset type.
      """
      # nicely printing out information and quantities of the asset
      string = "-" * 50
      string += f"\n{self.asset_type}: {self.name}"
      string += f"\nExpected Return: {self.expected_return:0.3f}"
      string += f"\nVolatility: {self.volatility:0.3f}"
      string += f"\nSkewness: {self.skew:0.5f}"
      string += f"\nKurtosis: {self.kurtosis:0.5f}"
      string += "\n" + "-" * 50
      print(string)
  
file_path: FinQuant/finquant/asset.py
imports: import numpy
  import pandas
  from finquant.data_types import FLOAT, INT
  from finquant.returns import daily_returns, historical_mean_return
  from finquant.type_utilities import type_validation
label_desc: Use image node_id 7 for calling the Asset obj's underlying member method code with example usage: obj.properties() without return types