Autocorrelation of a sine wave
You actually do not have a problem here. The way np.correlate is implemented, you get the negative delay values first. If you plotted your entire signal, it would look as expected. Run plt.plot(result) and you will get



The maximum is at 100 and represents zero delay. That the maximum is so high, is because np.correlate does not normalize the function, but just computes the sum, as you can see in the documentation


  This function computes the correlation as generally defined in signal
  processing texts:
  
  c_{av}[k] = sum_n a[n+k] * conj(v[n])
  
  with a and v sequences being zero-padded where necessary and conj
  being the conjugate.


That the acf decays for your signal and for delays larger or smaller than zero is due to its finite length. For an infinite signal, you would be able to see the periodicity without decay.