Arduino only has digital outputs (DOs).
DO can PWM (pulse width modulation) with 8-bit resolution (0-255),
but it is not real analog output

If you need real analog output, special IC should be used.
Here shows how to use MCP4922 to generate analog output.
It has 12-bit resolution (0-4095)
Pin connection (MCP4922->Arduino)
1:VDD -> 5V14:VOUTA (for your usage)
2 (NC)13:VREF -> 5V
3:CS ->1012:VSS -> GND
4:SCK ->1311:VREFB -> 5V
5:SDI ->1110:VOUTB A (for your usage)
6: (NC)9:SHDN ->5V
7: (NC)8:LDAC ->9

Example of Code (using SPI)
#include "pins_arduino.h"
#include < SPI.h >

#define LDAC   9

void setup() {
     pinMode(LDAC,OUTPUT) ;
     SPI.begin() ;
     SPI.setBitOrder(MSBFIRST) ;
     SPI.setClockDivider(SPI_CLOCK_DIV8) ;
     SPI.setDataMode(SPI_MODE0) ;
}
void loop() {
     int i ;

     for (i=0 ; i < 4096 ; i=i+4) {
          digitalWrite(LDAC,HIGH) ;
          digitalWrite(SS,LOW) ;
          SPI.transfer((i >> 8)|0x30) ;
          SPI.transfer(i & 0xff) ;
          digitalWrite(SS,HIGH) ;
          digitalWrite(LDAC,LOW) ;
     }
}
Example of code (not using SPI)
#define DA_SCK   13
#define DA_SDI   11
#define DA_CS    10
#define DA_LDAC   9

void DACout(int dataPin,int clockPin,int destination,int value)
{
     int i ;

     digitalWrite(dataPin,destination) ;
     digitalWrite(clockPin,HIGH) ;
     digitalWrite(clockPin,LOW) ;
     digitalWrite(dataPin,LOW) ;
     digitalWrite(clockPin,HIGH) ;
     digitalWrite(clockPin,LOW) ;
     digitalWrite(dataPin,HIGH) ;
     digitalWrite(clockPin,HIGH) ;
     digitalWrite(clockPin,LOW) ;
     digitalWrite(dataPin,HIGH) ;
     digitalWrite(clockPin,HIGH) ;
     digitalWrite(clockPin,LOW) ;
     for (i=11 ; i>=0 ; i--) {
          if (((value >> i) & 0x1) == 1) digitalWrite(dataPin,HIGH) ;
          else                           digitalWrite(dataPin,LOW) ;
          digitalWrite(clockPin,HIGH) ;
          digitalWrite(clockPin,LOW) ;
     }
}
void setup() {
     pinMode(DA_SCK, OUTPUT) ;
     pinMode(DA_SDI, OUTPUT) ;
     pinMode(DA_CS,  OUTPUT) ;
     pinMode(DA_LDAC,OUTPUT) ;
     digitalWrite(DA_SCK,LOW) ;
}
void loop() {
   int i=0;
   for(i=0; i<4096; i++){
     digitalWrite(DA_LDAC,HIGH) ;
     digitalWrite(DA_CS,LOW) ;
     DACout(DA_SDI,DA_SCK,0,i) ;
     digitalWrite(DA_CS,HIGH) ;
     digitalWrite(DA_LDAC,LOW) ;
  }
}

Note: You cannot get negative voltage from difference of VOUTA and VOUTB. At least, I failed.