title: TypeError: Can't instantiate abstract class in Python
body: <p>I have a module <code>fi</code> with the following classes defined:</p>
  
  <pre><code>class Asset(metaclass=abc.ABCMeta):
      pass
  
      @abc.abstractmethod
      def get_price(self, dt : datetime.date, **kwargs):
      ''' Nothing here yet
      '''
  
  class CashFlows(Asset):
  
     def __init__(self, amounts : pandas.Series, probabilities : pandas.Series = None):
     amounts = Asset.to_cash_flows()
  </code></pre>
  
  <p>I then have another class <code>Bond(fi.Asset)</code> with this method within it:</p>
  
  <pre><code>def to_cash_flows(self, notional : float = 100.0) -&gt; fi.asset.CashFlows:
      series = pandas.Series(list_of_data, indices_of_data)
      return fi.CashFlows(series)
  </code></pre>
  
  <p>I get the error <code>TypeError: Can't instantiate abstract class CashFlows with abstract methods get_price</code> when I call <code>to_cash_flows</code>. I've seen <a href="https://stackoverflow.com/questions/8086826/cant-instantiate-abstract-class-with-abstract-methods-on-class-that-shouldn">this answer</a>, but am unable to relate it with my current issue.</p>
  
  <p>Thank You</p>