Example #1
0
def test_historical_mean_return():
    orig = [13.178779135809942, 3.8135072274034982]
    l1 = range(1, 101)
    l2 = [10 * 0.2 + i * 0.25 for i in range(21, 121)]
    d = {"1": l1, "2": l2}
    df = pd.DataFrame(d)
    ret = historical_mean_return(df, freq=252)
    assert abs(ret["1"] - orig[0]) <= 1e-15
    assert abs(ret["2"] - orig[1]) <= 1e-15
Example #2
0
    def comp_expected_return(self, freq=252):
        """Computes the Expected Return of the stock.

        :Input:
         :freq: ``int`` (default: ``252``), number of trading days, default
             value corresponds to trading days in a year

        :Output:
         :expected_return: Expected Return of stock.
        """
        return historical_mean_return(self.data, freq=freq)
Example #3
0
    def comp_mean_returns(self, freq=252):
        """Computes the mean returns based on historical stock price data.
        See ``finquant.returns.historical_mean_return``.

        :Input:
         :freq: ``int`` (default: ``252``), number of trading days, default
             value corresponds to trading days in a year.

        :Output:
         :ret: a ``pandas.DataFrame`` of historical mean Returns.
        """
        return historical_mean_return(self.data, freq=freq)
Example #4
0
    def comp_expected_return(self, freq=252):
        """Computes the Expected Return of the portfolio.

        :Input:
         :freq: ``int`` (default: ``252``), number of trading days, default
             value corresponds to trading days in a year.

        :Output:
         :expected_return: ``float`` the Expected Return of the portfolio.
        """
        if not isinstance(freq, int):
            raise ValueError("freq is expected to be an integer.")
        pf_return_means = historical_mean_return(self.data, freq=freq)
        weights = self.comp_weights()
        expected_return = weighted_mean(pf_return_means.values, weights)
        self.expected_return = expected_return
        return expected_return