class_docstr: Class that contains information about a stock/fund.
  
  :param investmentinfo: Investment information of a stock.
  :param data: Historical price data of a stock.
  
  The ``Stock`` class extends the ``Asset`` class and represents a specific type of asset,
  namely a stock within a portfolio.
  It requires investment information and historical price data for the stock to initialize an instance.
  
  In addition to the attributes inherited from the ``Asset`` class, the ``Stock`` class provides
  a method to compute the beta parameter and one to compute the R squared coefficient
  specific to stocks in a portfolio when compared to the market index.
class_docstr_tok: ["Class","that","contains","information","about","a","stock\/fund",".",":","param","investmentinfo",":","Investment","information","of","a","stock",".",":","param","data",":","Historical","price","data","of","a","stock",".","The","``","Stock","``","class","extends","the","``","Asset","``","class","and","represents","a","specific","type","of","asset",",","namely","a","stock","within","a","portfolio",".","It","requires","investment","information","and","historical","price","data","for","the","stock","to","initialize","an","instance",".","In","addition","to","the","attributes","inherited","from","the","``","Asset","``","class",",","the","``","Stock","``","class","provides","a","method","to","compute","the","beta","parameter","and","one","to","compute","the","R","squared","coefficient","specific","to","stocks","in","a","portfolio","when","compared","to","the","market","index","."]
docstr: Nicely prints out the properties of the stock: Expected Return,
  Volatility, Beta (optional), R squared (optional), Skewness, Kurtosis as well as the ``Allocation``
  (and other information provided in investmentinfo.)
docstr_tok: ["Nicely","prints","out","the","properties","of","the","stock",":","Expected","Return",",","Volatility",",","Beta","(","optional",")",",","R","squared","(","optional",")",",","Skewness",",","Kurtosis","as","well","as","the","``","Allocation","``","(","and","other","information","provided","in","investmentinfo",".",")"]
code: def properties(self) -> None:
      """Nicely prints out the properties of the stock: Expected Return,
      Volatility, Beta (optional), R squared (optional), Skewness, Kurtosis as well as the ``Allocation``
      (and other information provided in investmentinfo.)
      """
      # nicely printing out information and quantities of the stock
      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}"
      if self.beta is not None:
          string += f"\n{self.asset_type} Beta: {self.beta:0.3f}"
      if self.rsquared is not None:
          string += (
              f"\n{self.asset_type} R squared: {self.rsquared:0.3f}"
          )
      string += f"\nSkewness: {self.skew:0.5f}"
      string += f"\nKurtosis: {self.kurtosis:0.5f}"
      string += "\nInformation:"
      string += "\n" + str(self.investmentinfo.to_frame().transpose())
      string += "\n" + "-" * 50
      print(string)
  
file_path: FinQuant/finquant/stock.py
imports: from typing import Optional
  import numpy
  import pandas
  from sklearn.metrics import r2_score
  from finquant.asset import Asset
  from finquant.data_types import FLOAT
  from finquant.type_utilities import type_validation
label_desc: Use image node_id 4 for calling the Stock obj's underlying member method code with example usage: obj.properties() without return types