I don't know the details of the "conv_" functions, since I don't use them.
If you are learning VHDL now, I recommend that you forget the std_logic_arith, std_logic_unsigned and std_logic_signed libraries.
numeric_std replaces them all, and that happened 20 years ago!
If your VHDL book uses the "conv_" functions, throw it away and get another book.
With numeric_std you do it like this:
vout <= std_logic_vector(to_signed(-32000,16));
If you do arithmetic operations on "vout", you can probably save some trouble by having it as type "signed":
signal vout: signed(15 downto 0):
........
vout <= to_signed(-32000,16);