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: :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"), default: "Market index"
docstr_tok: [":","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","''",")",",","default",":","``","Market","index","''"]
code: def __init__(
      self, data: pd.Series, name: str, asset_type: str = "Market index"
  ) -> None:
      """
      :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"), default: "Market index"
      """
      self.data = data.astype(np.float64)
      self.name = name
      # compute expected return and volatility of asset
      self.expected_return = self.comp_expected_return()
      self.volatility = self.comp_volatility()
      self.skew = self._comp_skew()
      self.kurtosis = self._comp_kurtosis()
      # type of asset
      self.asset_type = asset_type
  
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 1 to create a new Asset object  with example: obj = Asset(data, name, asset_type)