Place an order by desired value rather than desired number of
        shares.

        Parameters
        ----------
        asset : Asset
            The asset that this order is for.
        value : float
            If the requested asset exists, the requested value is
            divided by its price to imply the number of shares to transact.
            If the Asset being ordered is a Future, the 'value' calculated
            is actually the exposure, as Futures have no 'value'.

            value > 0 :: Buy/Cover
            value < 0 :: Sell/Short
        limit_price : float, optional
            The limit price for the order.
        stop_price : float, optional
            The stop price for the order.
        style : ExecutionStyle
            The execution style for the order.

        Returns
        -------
        order_id : str
            The unique identifier for this order.

        Notes
        -----
        See :func:`zipline.api.order` for more information about
        ``limit_price``, ``stop_price``, and ``style``

        See Also
        --------
        :class:`zipline.finance.execution.ExecutionStyle`
        :func:`zipline.api.order`
        :func:`zipline.api.order_percent`

def order_value(self,
                    asset,
                    value,
                    limit_price=None,
                    stop_price=None,
                    style=None):
        """Place an order by desired value rather than desired number of
        shares.

        Parameters
        ----------
        asset : Asset
            The asset that this order is for.
        value : float
            If the requested asset exists, the requested value is
            divided by its price to imply the number of shares to transact.
            If the Asset being ordered is a Future, the 'value' calculated
            is actually the exposure, as Futures have no 'value'.

            value > 0 :: Buy/Cover
            value < 0 :: Sell/Short
        limit_price : float, optional
            The limit price for the order.
        stop_price : float, optional
            The stop price for the order.
        style : ExecutionStyle
            The execution style for the order.

        Returns
        -------
        order_id : str
            The unique identifier for this order.

        Notes
        -----
        See :func:`zipline.api.order` for more information about
        ``limit_price``, ``stop_price``, and ``style``

        See Also
        --------
        :class:`zipline.finance.execution.ExecutionStyle`
        :func:`zipline.api.order`
        :func:`zipline.api.order_percent`
        """
        if not self._can_order_asset(asset):
            return None

        amount = self._calculate_order_value_amount(asset, value)
        return self.order(asset, amount,
                          limit_price=limit_price,
                          stop_price=stop_price,
                          style=style)