How to use negative number as argument value in a drush command?
It looks like it is not possible since the '-' is always picked up as an option being passed to the drush command.  I'd suggest evaluating why you need a negative value and if it could be handled with an absolute value and/or some other creative way of indicating a negative value.

If this is not an option, I found this work around in several different articles/blogs:

php -r "print json_encode("-1");" | drush vset --format=json some_var_name - --y

The drush command docs also suggest a technique using arrays for passing a complex data structure to the command: https://drushcommands.com/drush-7x/core/variable-set/ (See the last example).  This would let you pass in almost anything you wanted.