В простейшем случае можно сделать так: строятся две дуги, соединённые между собой. Далее создаём два градиента: от 0 до 0.5 прозрачность и от 0.5 прозрачность до 1:
<defs>
<linearGradient id="gradient" x1="0%" y1="50%" x2="100%" y2="50%">
<stop offset="0%" stop-color="#f00808" stop-opacity="0"></stop>
<stop offset="100%" stop-color="#f00808" stop-opacity="0.5"></stop>
</linearGradient>
<linearGradient id="gradient_2" x1="100%" y1="50%" x2="0%" y2="50%">
<stop offset="0%" stop-color="#f00808" stop-opacity="0.5"></stop>
<stop offset="100%" stop-color="#f00808" stop-opacity="1"></stop>
</linearGradient>
</defs>
И наконец, к первой дуге применяем 1 градиент, ко второй дуге - второй градиент.
Пример:
https://codepen.io/vivazzi/pen/yEjxPV
Для анимации можно применить css свойство transform: rotate(15deg); или @keyframes